学算法有用吗?刚学会 KMP 算法,是什么层次

2015-08-17 01:31:35 +08:00
 hxlx

不会是连入门都没有吧?

12458 次点击
所在节点    算法
65 条回复
wezzard
2015-08-17 17:45:14 +08:00
@typing 明明两层循环为什么是线性复杂度?

求解釋。
wezzard
2015-08-17 17:52:52 +08:00
KMP 碰到 "CCCCCCCCCCCCCCCCCCCC" 裏面尋找 "CCCCCCCCCCCCCCCCCCCC" 怎麼辦?這好像是 worst case 啊。
Xs0ul
2015-08-17 17:55:00 +08:00
@wezzard 你 5 分钟就能写出代码还不懂为什么是线性复杂度。。不知道你是怎么写的
wezzard
2015-08-17 17:56:51 +08:00
@Xs0ul 可是我就是不知道……
wezzard
2015-08-17 18:01:40 +08:00
@Xs0ul 我關鍵糾結爲甚麼對潛在可能子字符串進行匹配不被算入複雜度裏面。
beordle
2015-08-17 18:05:47 +08:00
@wezzard kmp 是稳定的,没有所谓最坏情况的吧....
wezzard
2015-08-17 18:11:39 +08:00
繼續看了看文章,發現我理解錯了,這是我的實現。看了阮一峯的 blog 才找對方向。

https://gist.github.com/WeZZard/67c3dbe3c7ead52d4f8d
wezzard
2015-08-17 18:12:06 +08:00
@beordle 我寫錯了……
hitmanx
2015-08-17 18:13:35 +08:00
worst case 好像也是 O (m+n )的,以前学过,大概原理还记得,具体的细节忘了
ant_sz
2015-08-17 18:34:46 +08:00
国内算法好的孩子们都被 Google Facebook 这些厂挑走了。你说学算法有用没有用?
onceyoung
2015-08-17 18:42:19 +08:00
有句话叫书到用时方恨少,你说有用不
TimePower
2015-08-17 18:48:53 +08:00
记得以前看过, 貌似没用过...
Geoion
2015-08-17 20:39:53 +08:00
膜拜啊,我都不会这个东西
wu181184
2015-08-17 21:23:01 +08:00
把 LeetCode 过一遍,面试就够用了...
laoyuan
2015-08-17 21:37:43 +08:00
我正在刷 LeetCode 啊啊啊,这会在斗鱼直播用 Python 刷: http://www.douyutv.com/laoyuan
horizon
2015-08-17 21:46:27 +08:00
@laoyuan 我竟然去看了。。然后关了。
withlqs
2015-08-17 22:05:32 +08:00
其实无关水平,主要看思维

不过硬要问的话, tourist 的小学水平吧 2333
tldxdhz
2015-08-17 22:16:48 +08:00
初中生甚至小学生都有会的,信息学竞赛党
hxlx
2015-08-17 22:32:33 +08:00
@yyfearth 面试有经历过要写算法的
@typing 有道理啊~正在学 Manacher
@JointLock 对...
@zhengnanlee 算法博大精深啊。。
@zx120120 嗯嗯,开始学起。。。
yyfearth
2015-08-18 02:50:30 +08:00
@hxlx 面试当然要写算法 但是重点不在于你会不会高难度的算法已经结果怎么样
而是过程怎么样 corner case 和 异常 处理如何
代码是否精炼 是否有坏习惯 以及对需求的沟通交流过程

当然 如果是面 Google FB 这些算法题都是一堆一堆的
在 corner case 和 异常处理的前提下 迅速刷完就好了
对于他们而言 算法都是基础

对于面试一般的公司 对于 strstr 这样的算法题
我认为 用暴力算法然后 refine 比上来直接 kmp 要效果好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/213654

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX