
不会是连入门都没有吧?
1 chengzhoukun 2015 年 8 月 17 日 via Android 学了不用 并没卵用。 |
2 Rand01ph 2015 年 8 月 17 日 via iPhone 应该算入门级……才看到字符串吧 |
3 tushiner 2015 年 8 月 17 日 程序员用得到,而码农用不到 |
4 gantEleCode 2015 年 8 月 17 日 面试如果问到了能非常流畅的写出KMP 代码还是挺有用的。 |
5 yyfearth 2015 年 8 月 17 日 KMP 是有些难度的 但是除了面试 根本用不到 而且就算是面试 如果一上来就 KMP 估计也没啥意义 面试官考这个又不是考验你记忆力的 而且估计面试官也可能搞不定 KMP @gantEleCode 不一定哦 只能说明是刷过题 但是还是不能体现真实能力 除非是面试顶级大公司 这种作为基础题 刷过 KMP 也算不了什么 |
6 em70 2015 年 8 月 17 日 via Android 算法的本质是让机器像人一样思考,代替人完成任务 |
7 ffffwh 2015 年 8 月 17 日 via Android 是你以为你学会了kmp的层次 |
8 ChiangDi 2015 年 8 月 17 日 via Android 你是不是看到第三章字符串了。。。 |
9 typing 2015 年 8 月 17 日 via iPad 在面试中,“会实现”是非常平凡的要求,一般会默认这一点。 基础题目会是kmp的应用,而且题目通常不是那么浅显让你觉得kmp是可行算法。建议刷题分类选择“字符串”,而不是指明“kmp”。 再进一步,我会问“明明两层循环为什么是线性复杂度”。 如果你在简历中标注自己会kmp算法,以上会是一些可能的问题。 再进一步,其他字符串算法你不能不会。没有他们之间的比较你没法明白kmp的特点。这样你用kmp不是因为它适合一个问题,而是因为你只会kmp。 (Suffix tree/array, trie, ac automaton) 希望这些对你后面的学习有帮助。 |
10 surefire 2015 年 8 月 17 日 很牛逼了,我连KMP是什么都不知道 |
11 knightdf 2015 年 8 月 17 日 需要用到的时候再去看下不就得了。。你当被诗啊? |
12 vietor 2015 年 8 月 17 日 via Android 用不了10年就忘干净了 |
13 fuxiaohei 2015 年 8 月 17 日 算法是抠细节的东西,不用很容易忘记的。。 |
14 twistoy 2015 年 8 月 17 日 刚看完KMP?NOIP普及组入门的实力? |
15 deving 2015 年 8 月 17 日 除非你很熟悉这一块,不然就说都不要说,人家问道非得说一点,那就扯上一点,然后赶紧收手.kmp虽然有点难度,但是又不是什么创新创造,花点时间,一两个小时就能搞明白的,根本算不上有挑战性. |
16 laoyuan 2015 年 8 月 17 日 我认为练习算法可以锻炼思维复杂度、严谨程度,具体是否用的到就无所谓了 |
17 fakefish 2015 年 8 月 17 日 大一的时候学的 kmp ,当时花了很多精力理解。差不多有点理解了,觉得算法可能不太适合我,就学前端了。。 |
18 zhengnanlee 2015 年 8 月 17 日 额。。这只是一个叫做『运算规则』的东西,并不能称作算法。貌似『算法』这个词被程序员们降低太多门槛了。 |
19 tabris17 2015 年 8 月 17 日 KMP 好像大学时上数据结构课时就学了 属于然并卵的层次 |
20 xxm459259 2015 年 8 月 17 日 KMP 只在比赛中用到,实际运行中速度并不好。同样的字符串匹配问题多用 BM 以及它的一个简化版本。 |
21 tooweakchen 2015 年 8 月 17 日 入门 |
22 zhujinliang 2015 年 8 月 17 日 via iPhone @laoyuan 最近经常看你的直播呢 |
23 henryon 2015 年 8 月 17 日 恭喜你加入码农的行列。。 |
24 wph95 2015 年 8 月 17 日 KMP...信息学竞赛提高组入门等级 |
25 zerh925 2015 年 8 月 17 日 具体某种算法可能将来并不会用到 但是最大的帮助是训练我们的思维能力 将来遇到类似问题能举一反三 看到 KMP 我的第一反应是 kmplayer 因为我并不知道这个算法 我的工作中也不会用到 但是我不否认学过这个的人或多或少还在收益 但是也许我懂的算法也许他们不会 术业有专攻而已 但是某些大神 也许在造轮子时候因为知道 KMP 可以在它的基础上改造出新的东西 这才是懂算法的真正意义吧 大部分人和人的差距不是智力 而是努力程度和浮躁的心态 |
26 Changxu 2015 年 8 月 17 日 KMP ?最多是 CS 本科大二的水平 |
27 saeba1030 2015 年 8 月 17 日 能写进书本的算法都是然并卵的。有用的就是你知道有哪些算法,能干什么,这样在特定场合要解决问题时可以用来就用或者举一反三 |
28 zx120120 2015 年 8 月 17 日 学习这些算法更多的是对思维的锻炼。 而上手实现这些算法,则可以锻炼你对边界情况的处理能力。 而且这些流传已久的算法大都是很美的,光是知道就会很令人高兴。 至于这些算法对做工程而言,大多是没什么用。 毕竟,做工程很多时候只是在机械得重复得写胶水代码罢了。 当你想要深入这么学科里的时候,写一些比胶水代码要高神的东西的时候(诸如浏览器,编译器,数据库),算法则是不可或缺的。 然而若是想在工程方面搞一搞的话,写点点胶水代码(诸如 HTML , Javascript , SQL )便能有很大成就感,此时对于算法的需求并不是那么强烈,更多的是需要耐心和兴趣以及审美能力。 总的说算法就像人们口中说的数学,写点 HTML , JS ,买点菜,势必是用不到的。但是要想钻研更深的计算机科学,算法知识是必备的。 至于到底要不要学算法,完全取决于 LZ 想做什么。 个人建议,不要过早的跳进 网页程序员 的大坑当中,先试试学学看,试着去干掉各大公开课网站上比较“高深”的课程,或许会发现全新的世界。 |
29 liuchang0812 2015 年 8 月 17 日 大一新生的水平 |
30 abcdabcd987 2015 年 8 月 17 日 |
31 zhicheng 2015 年 8 月 17 日 初级工程师认为写出可以工作的代码就结束了,高级工程师认为写出漂亮的代码就结束了,顶级工程师认为写出可以调试的代码才算结束。 自己看自己在哪个层次上。 |
33 JointLock 2015 年 8 月 17 日 自学算法的中小学生?可看清了,手上的这颗石头就是一颗未经雕琢的原石啊! 锻炼信息学竞赛的中小学生?可沉住气,手上的这颗石头是关键时刻可以拿来一战的武器。 高考后预习大学课程的高中毕业生?可别骄傲,虽然你已经走在大多数高考生同学们前面了。 大学暑假来预习算法课的大学生?可别浮躁,虽然你觉得大学什么课程内容都特么一坨翔... 大学暑假来准备面试题的准毕业生吗?可别慌,学到了就是学到了,万一面试用到了呢... 夏天躺尸时间却想自我提高的半路子出家的程序员?可别觉得为时已晚,该走的路就是要走!! 学习算法这是稳赚不赔的买卖,值当! |
34 MrEggNoodle 2015 年 8 月 17 日 @em70 喜欢你这句概括。 |
35 codingpp 2015 年 8 月 17 日 无法学以致用,就没有什么卵用 |
36 dslwind 2015 年 8 月 17 日 via Android kmp 至今没看懂是什么层次? |
37 Wangxf 2015 年 8 月 17 日 面试的时候有用,大学的时候老师讲过,现在忘得差不多了 |
38 yyfearth 2015 年 8 月 17 日 |
39 liuchang0812 2015 年 8 月 17 日 @abcdabcd987 以正常人为说 |
40 wezzard 2015 年 8 月 17 日 看了下 KMP 的文章, 5 分自己用 Swift 2 了一,我是出身,主自己掂量掂量…… |
42 wezzard 2015 年 8 月 17 日 KMP 碰到 "CCCCCCCCCCCCCCCCCCCC" 面找 "CCCCCCCCCCCCCCCCCCCC" 怎?好像是 worst case 啊。 |
47 wezzard 2015 年 8 月 17 日 |
49 hitmanx 2015 年 8 月 17 日 worst case 好像也是 O (m+n )的,以前学过,大概原理还记得,具体的细节忘了 |
50 ant_sz 2015 年 8 月 17 日 国内算法好的孩子们都被 Google Facebook 这些厂挑走了。你说学算法有用没有用? |
51 onceyoung 2015 年 8 月 17 日 via Android 有句话叫书到用时方恨少,你说有用不 |
52 TimePower 2015 年 8 月 17 日 记得以前看过, 貌似没用过... |
53 Geoion 2015 年 8 月 17 日 膜拜啊,我都不会这个东西 |
54 wu181184 2015 年 8 月 17 日 把 LeetCode 过一遍,面试就够用了... |
55 laoyuan 2015 年 8 月 17 日 我正在刷 LeetCode 啊啊啊,这会在斗鱼直播用 Python 刷: http://www.douyutv.com/laoyuan |
57 withlqs 2015 年 8 月 17 日 其实无关水平,主要看思维 不过硬要问的话, tourist 的小学水平吧 2333 |
58 tldxdhz 2015 年 8 月 17 日 初中生甚至小学生都有会的,信息学竞赛党 |
59 hxlx OP @yyfearth 面试有经历过要写算法的 @typing 有道理啊~正在学 Manacher @JointLock 对... @zhengnanlee 算法博大精深啊。。 @zx120120 嗯嗯,开始学起。。。 |
60 yyfearth 2015 年 8 月 18 日 @hxlx 面试当然要写算法 但是重点不在于你会不会高难度的算法已经结果怎么样 而是过程怎么样 corner case 和 异常 处理如何 代码是否精炼 是否有坏习惯 以及对需求的沟通交流过程 当然 如果是面 Google FB 这些算法题都是一堆一堆的 在 corner case 和 异常处理的前提下 迅速刷完就好了 对于他们而言 算法都是基础 对于面试一般的公司 对于 strstr 这样的算法题 我认为 用暴力算法然后 refine 比上来直接 kmp 要效果好 |
61 hitmanx 2015 年 8 月 18 日 有道理。况且独立写一个没有 bug 的 kmp 算法的也很不容易了,更何况还在面试这种压力大、时间紧张的场合。。我觉得有点像快排,每个人掌握原理后都觉得这个写起来应该不难,但是真写出一个没有 bug 的其实不容易。之前哪个国外高校做过实验,把学生关在一个教室了,给予足够长的时间(每个人可以想用多少时间用多少时间,直到完全确认自己的是对的),但是最终没有 bug 的还是寥寥。 |
62 cst4you 2015 年 8 月 18 日 KMP 是什么可以吃吗 |
63 invite 2015 年 8 月 18 日 厉害的,我还停留在 KMP 播放器的阶段。 |
64 sincc 2015 年 8 月 19 日 如果什么东西都要用 “学了有没有用“ 来判定,那你就不适合在这个世界生活了。。。算法是对思维很好的锻炼,如果学了算法后,用代码实现,或者去参加几次 ACM 培训、比赛,那你的计算机思维水平要比单纯交几万块钱学费去培训 JAVA 之类的人要高的多。 至于什么层次。。。初级。。。如果你能用你学到的算法解决 ACM 问题,那层次就高一级了。多刷刷 POJ , ZOJ 之类的吧 |
65 jedihy 2016 年 12 月 20 日 |