google的一个面试题

蜡笔小新啦 2013-01-05 03:31:54
加精
大概意思如下:
有一组点,知道其坐标值。
有一只笔可以用来画出点。笔画出点的时间很快,可以忽略不计,但是笔移动比较耗时。
1. 求一个算法,最短的时间内画出所有的点。(若画笔的初始位置在左下角)
2. 求一个算法,最短的时间内画出所有的点。(若画笔的初始位置不定,可以由算法来定)
...全文
16123 185 打赏 收藏 转发到动态 举报
写回复
用AI写文章
185 条回复
切换为时间正序
请发表友善的回复…
发表回复
leewon1988 2013-04-10
  • 打赏
  • 举报
回复
最小生成树?
kktornado 2013-04-01
  • 打赏
  • 举报
回复
引用 124 楼 HUANGFEIDIAN 的回复:
不知用ospf及bgp的思想是否可行 感觉就像找一条较好路由一样 根据点的聚合程度划分为一定大小的圈 然后再对划分出来的圈取其质心 并用这些质心继续迭代 等到最后的质心数目低于一定数目时候 再开始计算路径 然后再把小的圈依次展开来计算内部路径长度 感觉这样计算的误差基本处于可控范围 只是凭直觉思考,轻喷
nice 我觉得可行啊 而且靠谱啊
小草sd 2013-04-01
  • 打赏
  • 举报
回复
模拟退火??!!
hqw19881118 2013-03-27
  • 打赏
  • 举报
回复
貌似用近似算法可以灰常快!如果对精度要求没那么苛刻的话……
蜡笔小新啦 2013-03-21
  • 打赏
  • 举报
回复 1
这是旅行商问题啊。没说是最小生成树问题啊。
索隆 2013-03-21
  • 打赏
  • 举报
回复
例如(0,0)是开始点;(-100,0)(0,0)(1,0)(10000,0).这个例子不恰当
索隆 2013-03-21
  • 打赏
  • 举报
回复
修正一下上面的例子3个点应该是比如(0,0)带3个节点(1,0)(1,1)(1,-1)
索隆 2013-03-21
  • 打赏
  • 举报
回复
我觉得大家对题意理解有出入。问题愿意可以举例来理解,一个送牛奶的送奶工要去n个地方送牛奶,怎么选择道路才是最省时省力的?我觉得这不是最小生成树的题!因为最小生成树是包含所有节点,求总线的和最小。一个实例就是铺设光缆,怎样才能把要铺设光缆的城市全覆盖并能保证花费的光缆长度最短?这和这个问题根本不一样。因为送奶工走的路在一个分叉点要回到分叉的另一点就必须要再走回去。就是按照最小生成树的算法,送奶工可能需要走回头路,这个回头路你就没有考虑。比如(0,0)带3个节点(0,1)(1,1)(1,-1)。按照最小生成树,总长最小是3.实际上不肯能,以为走到(0,1)的时候无论走(1,1)还是走(1,-1)。下一步他都需要走回头路,这个长度就超出你计算的了。那最好的算法,我也不知道,这里给出一个思路:从开始点找最近的点,走到最近的点后,把走过的点删除,从生下的点再找最近的点,一直走下去。每一步我都找目前最近的点。这个算法其实也不正确。例如(0,0)是开始点;(-100,0)(0,0)(1,0)(10000,0).
carol320 2013-03-09
  • 打赏
  • 举报
回复
好难啊,不懂。
ivgwt 2013-03-02
  • 打赏
  • 举报
回复
雨刷算法没看懂=_=|||,求详解
usc_su 2013-02-27
  • 打赏
  • 举报
回复
最小生成树?这道题的精髓在于最短时间,最小生成树时间复杂度是mlogn最小 prim或者克鲁斯卡尔 第一题可以 第二题呢 确定画笔位置比较重要,个人觉得第二题用分治求出中心点,时间是2f(n/2)+n 是nlogn. 然后再用MST的话就是mlogn 最后结果还是mlogn
绿色夹克衫 2013-02-26
  • 打赏
  • 举报
回复
点不太多的话(20个以内),可以试试状态压缩的DP。
MadLee 2013-02-25
  • 打赏
  • 举报
回复
中国邮差问题?
bigwangdi 2013-02-25
  • 打赏
  • 举报
回复
头晕,回头在看。。
lyc_omg 2013-01-26
  • 打赏
  • 举报
回复
总感觉最小生成树貌似就可以解决问题了啊。刚刚学的数据结构
w348477088 2013-01-25
  • 打赏
  • 举报
回复
这些东西又费时间 又费脑子 若不是有用干嘛去浪费那些时间 还有那些出这些题来面试的 这些问题都不是短时间能做出来的 若是能做出来 我只能想出两种人来 要么是事先知道答案 要么他是个疯子
百分百好牛 2013-01-25
  • 打赏
  • 举报
回复
想不明白的是,这样的面试题有什么意义?能够考察面试者的什么?专业的基础功底?还是考察知识面? 这招人做research么?
cyxcw1 2013-01-23
  • 打赏
  • 举报
回复
引用 175 楼 pengliangchina 的回复:
引用 173 楼 cyxcw1 的回复:如果这个点的数量非常大,用传统的优化算法明显是不能解决的,这就是我们平时所说的NP-hard问题! 解决NP-hard问题的方法有很多种,比较经典的有遗传算法、神经网络、模拟退火等!我之前有些过有关遗传算法的程序,大概说说! 1.问题解的编码:和TSP问题类似,比如有四个点,点的ID分别为1,2,3,4.那1-》2-》3-》4,……
雨刷算法也就是版主superdullwolf说的算法啊,不过这一个算法的可用性证明他还没给出呢,不过如果得不到证明,这个算法得出的解也能当做遗传算法很好的一个初始解。
蜡笔小新啦 2013-01-23
  • 打赏
  • 举报
回复
引用 173 楼 cyxcw1 的回复:
如果这个点的数量非常大,用传统的优化算法明显是不能解决的,这就是我们平时所说的NP-hard问题! 解决NP-hard问题的方法有很多种,比较经典的有遗传算法、神经网络、模拟退火等!我之前有些过有关遗传算法的程序,大概说说! 1.问题解的编码:和TSP问题类似,比如有四个点,点的ID分别为1,2,3,4.那1-》2-》3-》4,则是一个初始解,这个解的编码可以用一个字……
能否详细说说所谓的雨刷算法?
zhoujk 2013-01-23
  • 打赏
  • 举报
回复
引用 162 楼 pengliangchina 的回复:
版主的这个若是点是按V字形排列的可以吗?
有效,看你的原题: 有一组点,知道其坐标值。 有一只笔可以用来画出点。笔画出点的时间很快,可以忽略不计,但是笔移动比较耗时。 1. 求一个算法,最短的时间内画出所有的点。(若画笔的初始位置在左下角)。。。 计时应该是在完成最后一个点的绘制后就结束了吧,所以我们只要以最短路线走完所有的点就OK。这时笔的位置和其它因素可以不考虑
加载更多回复(165)

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧