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

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

不会是连入门都没有吧?

12396 次点击
所在节点    算法
65 条回复
chengzhoukun
2015-08-17 01:45:14 +08:00
学了不用 并没卵用。
Rand01ph
2015-08-17 02:15:10 +08:00
应该算入门级……才看到字符串吧
tushiner
2015-08-17 02:18:30 +08:00
程序员用得到,而码农用不到
gantEleCode
2015-08-17 05:27:48 +08:00
面试如果问到了能非常流畅的写出KMP 代码还是挺有用的。
yyfearth
2015-08-17 05:36:41 +08:00
KMP 是有些难度的
但是除了面试 根本用不到
而且就算是面试 如果一上来就 KMP 估计也没啥意义
面试官考这个又不是考验你记忆力的
而且估计面试官也可能搞不定 KMP

@gantEleCode 不一定哦 只能说明是刷过题 但是还是不能体现真实能力
除非是面试顶级大公司 这种作为基础题 刷过 KMP 也算不了什么
em70
2015-08-17 06:28:30 +08:00
算法的本质是让机器像人一样思考,代替人完成任务
ffffwh
2015-08-17 06:50:59 +08:00
是你以为你学会了kmp的层次
ChiangDi
2015-08-17 07:20:34 +08:00
你是不是看到第三章字符串了。。。
typing
2015-08-17 08:07:55 +08:00
在面试中,“会实现”是非常平凡的要求,一般会默认这一点。

基础题目会是kmp的应用,而且题目通常不是那么浅显让你觉得kmp是可行算法。建议刷题分类选择“字符串”,而不是指明“kmp”。

再进一步,我会问“明明两层循环为什么是线性复杂度”。

如果你在简历中标注自己会kmp算法,以上会是一些可能的问题。

再进一步,其他字符串算法你不能不会。没有他们之间的比较你没法明白kmp的特点。这样你用kmp不是因为它适合一个问题,而是因为你只会kmp。
(Suffix tree/array, trie, ac automaton)

希望这些对你后面的学习有帮助。
surefire
2015-08-17 08:34:06 +08:00
很牛逼了,我连KMP是什么都不知道
knightdf
2015-08-17 08:46:51 +08:00
需要用到的时候再去看下不就得了。。你当被诗啊?
vietor
2015-08-17 08:47:13 +08:00
用不了10年就忘干净了
fuxiaohei
2015-08-17 08:52:40 +08:00
算法是抠细节的东西,不用很容易忘记的。。
twistoy
2015-08-17 09:16:03 +08:00
刚看完KMP?NOIP普及组入门的实力?
deving
2015-08-17 09:17:08 +08:00
除非你很熟悉这一块,不然就说都不要说,人家问道非得说一点,那就扯上一点,然后赶紧收手.kmp虽然有点难度,但是又不是什么创新创造,花点时间,一两个小时就能搞明白的,根本算不上有挑战性.
laoyuan
2015-08-17 09:18:39 +08:00
我认为练习算法可以锻炼思维复杂度、严谨程度,具体是否用的到就无所谓了
fakefish
2015-08-17 09:43:25 +08:00
大一的时候学的 kmp ,当时花了很多精力理解。差不多有点理解了,觉得算法可能不太适合我,就学前端了。。
zhengnanlee
2015-08-17 09:52:22 +08:00
额。。这只是一个叫做『运算规则』的东西,并不能称作算法。貌似『算法』这个词被程序员们降低太多门槛了。
tabris17
2015-08-17 09:54:01 +08:00
KMP 好像大学时上数据结构课时就学了

属于然并卵的层次
pandachow
2015-08-17 10:01:00 +08:00
KMP 只在比赛中用到,实际运行中速度并不好。同样的字符串匹配问题多用 BM 以及它的一个简化版本。

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

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

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

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

© 2021 V2EX