studyabroad 板


LINE

我後来重新确认了问题,把一些人来信问我的内容更新如下 迷之声:原来这题有其它人被考过 ~ 哈 其实原考题和我陈述的有一点不同(So Sorry) 以下黄色是更新 (Sorry, 我没把问题搞清楚就Po了,原来是买航线不是买机票…) 这是我朋友遇到…面试的考题… 美国某家 超大 软体公司… 他不问还好,一问了…愈想愈头痛,不想出答案不行…(怒) 所以发来版上给大家一起想想(面试已结束) 以下给CS(Computer Science)的人服用,其它科系请左转离开(或是看有趣也行) 一开始是先简单问一下知不知道什麽是Travelling Salesman Problem... 这里:http://en.wikipedia.org/wiki/Travelling_salesman_problem 这个问题已经都知道是NP-HARD,所以基本上就是确定一下你修过演算法(我猜) 接下来面试官说… 我们把问题简化一点 假设某国家有n个城市 彼此之间飞机互连(但是机票价格不一定) 为了复杂问题,A飞B,和B飞A的价格是不一样的 到这里,他和我都猜测…可以想像成一个Graph, 假设G好了,其中节点为V,连结为E 则G(V,E)是一个有向图(每个E有权重,代表飞机票的价格) 第一个问题(我们有想出来了) 就是给定一个起点,问你飞到终点(可能需要转机),最便宜的总价是多少 考官要求答案一定要正确(最佳解),然後程式的时间/空间复杂度愈佳 愈好 最笨的解法就是把所有可能的路线都列出来 当然修过AI的我,就想起A* Search... 我的同学很紧张时,是回答用BFS(Breadth-First Search) 考官当然问他有没更好的解法…所以我猜他在这已经阵亡了… 接下来就是…implement …(时间流逝) 考官结束前,顺口讲了,叫他回去想一想(丢了另一个"问题") (我们一致认为这个就是考官要问的第二个问题,只不过因为该受测者提早阵亡XD) 这个问题就难倒好几个同学了(包含我) ----正文开始---- 考官说,如果 你要开始经营一间航空公司 因此,客人来自四面八方 故: (1) 起点不知道(每个点都可能,出发地不明),终点当然要包含所有的点(客人目的地未知) (2) 你的任务是找出该买的所有航线 注:假设所有的航线都买是最差的解(因为很贵) 你的任务是: 讲白一点,就是要用最便宜的航线串好所有的机场 (要能去能回,不然客人不就跑去别家航空了) 这个问题该怎麽解呢?(当然,时间和空间复杂度要愈佳愈好) 一开始我们认为这个问题很简单,先把所有的航线(Edge)列出来 例如 起 价格 终 V1 100 V2 V2 200 V3 … 不列出所有可能的组合,而直接Reversely Sort 所有的 Edge based on Weighting 注:航线 V1-->V2 的价格不保证等於V2->V1的价格 然後Greedy的方式,把由高到低的把贵的航线给干掉… 每干掉一个Edge,要确定不影响条件1,直到没有可以干的Edge就停… 这样得到的保证是解,但是不是最佳解就不得而知了… 检查条件就是确定indegree >1(保证到得了) ,以及out-degree >1(保证出得去) 假设有m个机场,n个路线,存在array里的话 时间的难点应该是在sort,应是 O(n log n) ,只有的检查很快 空间的话,需要 m * 2 (indegree + outdegree) for 机场(检查条件1) 以及 2 * n for 路线(起点+终点) <--用来sort 应该是O(n) (n > m,不然串不起来) 正当我很高兴的觉得这样搞定了 心里总觉得…好像怪怪的,会不会太简单了 以上是心得分享… 下面是问题… 有人能帮忙举个反例,否定我们想出来的演算法 OR 能提出更好的演算法就更佳了… 总之觉得这个interview的问题蛮有趣的… :) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 131.179.64.154
1F:推 poplin:最後一个问题用DP可解吗? 第一个想到的是这个 01/12 08:46
2F:→ yr:不就 all-pair shortest path ,关键字 Floyd-Warshall 01/12 09:20
3F:推 Kenzuki:楼上,shortest path不需要包含"所有"的点 01/12 09:23
4F:→ CryAll:Max-flow Min-cut? 01/12 09:57
5F:→ chucheng:To 楼上 Max Flow限制是single source/single sink 01/12 09:59
6F:推 genghiskii:好文一定推 01/12 11:13
7F:→ yr:shortest path 本来就不需要包含所有的点,F-W alg 也没包含 01/12 11:37
8F:→ yr:这个问题本来就是很简单,如果知道起点就是 single source 01/12 11:38
9F:→ yr:shortest path tree ,不知道起点用 Floyd-Warshall Alg. 01/12 11:38
10F:→ yr:可以解。 01/12 11:38
11F:→ yr:称为 all-pair shortest path 不是因为包含所有点,是因为是要 01/12 11:40
12F:→ yr:找所有的 src/dest 之间的最短(便宜)路径 01/12 11:41
13F:→ yr:如果起点已知,那跑个 Dijkstra's alg 就可以了 01/12 11:49
14F:推 chees:原PO第二题的检查条件似乎有问题? 例如两个点最便宜是对飞 01/12 16:01
15F:→ chees:这样的话 最後会造成其他点飞不到这两个点吧? 01/12 16:02
16F:推 Kenzuki:to yr,你看清楚,第二个问题是要找一个path包含所有的点 01/12 16:16
17F:推 Kenzuki:第一个问题是shortest path problem没错,但第二个不是 01/12 16:21
18F:→ yr:这是他没写清楚,终点要包含所有点是什麽意思? 01/13 01:57
19F:→ yr:一个 path 的终点就只有一个,所以这会让人误解成找出从这个 01/13 01:58
20F:→ yr:src 到其它点的最短路径。如果不是终点,那应该是 intermediate 01/13 01:58
21F:→ yr:nodes 吧? 01/13 01:58
22F:→ chucheng:我自己想到反例了,想像二个圈圈(A->B->C->A)及 01/13 02:37
23F:→ chucheng:(X->Y->Z->X) 假设原先还有A<-->X有互连(但很贵) 01/13 02:37
24F:→ chucheng:我的笨方法会砍掉A<-->X,然後每个点还是InDegree=1 且 01/13 02:38
25F:→ chucheng:OutDegree=1 ,但其实图不连通…因此这个检查方法是错误的 01/13 02:38
※ 编辑: chucheng 来自: 131.179.64.241 (01/13 02:40)
26F:推 wenjoseph:minimum strongly connected subgraph? 01/13 05:42
27F:→ chucheng:minimum spanning strong sub(di)graph (MSSS) 01/13 06:57
28F:→ chucheng:已经找到证明这是NP-HARD (http://bit.ly/dGyjXi) 01/13 06:59







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP