本文共 933 字,大约阅读时间需要 3 分钟。
程序=数据结构+算法,这个早就看到了,很多人也说了,谭浩强的C语言里面也有。
而且我发现计算机考研里面的算法题是夹杂着数据结构的题去考的。
我现在渐渐感受到他们所说的算法和我以前所理解的算法可能不是一个东西,他们的算法指的什么排序算法等等的,还有《算法导论》里面那些算法。这些可能是计算机里面的基础内容。
他们也早就把数据结构和算法放在一起讲了,他们的算法不是我之前理解的像什么人脸识别算法不是的,都是很基层的的一些东西,就像数据结构。所以我需要重新理解数据结构和算法。
现在也能理解那些OJ很多是算法题,你去看很多也像数据结构题。你实际去看leetcode的题应该能很深感受到这一点。那些公司喜欢出leetcode这一类的题就同时考察了数据结构和算法对吧,是有道理的应该。现在我对程序员面试的理解又更进了一步,重视数据结构和算法,重视基础。我记得那个python大战机器学习的作者把算法导论里面的每个算法都自己实现了一遍,这就是重视基础的表现。
你去看我在七月在线买的leetcode的刷题班,讲的是什么图论算法,深度优先搜索,动态规划,都是讲的算法感觉。
看到了几年前买的一本书
数据结构和算法的重要性超出我的想象,他们很看重这个,怪不得要拼命刷Leetcode,打ACM
我现在感觉到它们所讲的算法更多是指那种底层的算法,比如我怎么用程序遍历一个二叉树,怎么查找一个元素用时更短?顺序查找,折半查找等等
而不是我们平常谈的算法,我们平常谈的算法都是那种如上面人脸识别算法等等,这种高层应用型的算法。
我觉得你现在就可以拿ACM 的题做,别觉得现在晚了,不愿意花时间弄这些看起来基础的东西,不然你两年后回看又后悔,现在就是最早的时候,你一点点踏踏实实去弄,基础差就一点点补,就从基础补起,不要觉得自己这么大了还去弄别人大一大二玩的东西,你就是得一步步来,别求快。
我觉得打ACM 的人应该能够很深刻体会到数据结构和算法。
我感觉Leetcode就非常好地融合了数据结构和算法,里面有上面数组字符串,栈和队列,哈希等等。学了华清的前三个level的课程再看这些很有体会,我觉得还需要再刷些题才能真正很好地掌握。
数据结构和算法是程序员内功
要把基础弄扎实,没有捷径
转载地址:http://orani.baihongyu.com/