算法看懂了,不一定能够写出了
算法能够写出来,不一定能够讲出来
算法能够讲出来,并且写出来,并且举一反三,说明是真的懂了。
看别人的算法写出来的代码,永远不是自己的代码,只能算抄袭。。。。
Step1.
没有算法基础的同学,尤其连数组、堆栈、二叉树的遍历,几个基本排序算法代码都写不出来的同学,别看《算法导论》,等于小学数学没学好,看大学数学。
Step1-Step2:在这期间推荐的书有《算法》,可以通过读书、做题、刷OJ来提高
Step2
浏览《算法导论》目录发现一半以上完全没见过,在上面的基础上去OJ练一两个月,把网络流基本算法步骤、凸包、并查集、线段树、贪心动态规划、双指针思想,扫描线思想,Trie树,逆序数以及基本数论算法知识补上再说
Step3
如果能够过算法面试关,并且有兴趣,有时间,再啃《算法导论》,当然最基本的高等数学、矩阵、离散数学知识要有。
补充step2的步骤,在step2这个阶段是打基础最关键的时期,分为算法入门区和算法进阶区。。。。。
算法入门区的标准,链表reverse以及数组的原地reverse无脑写出,快速排序和归并排序无脑写出,熟练运用快速排序和归并排序的思想。二分法问题熟练写出,BFS和DFS熟练写出,熟练使用队列,哈希表,堆等数据结构,最后达到Leetcode上medium题无压力写出。
补充:做算法题一定要归类,归的类要具有一般性。另外程序写出来,一定要先自己检查一遍,就像交卷子之前检查下数学试卷一样,另外推荐Leetcode这种OJ,给出函数让你写,可以把主要精力放在设计算法上,而不用去处理IO之类的问题。
但是IO之类的问题可以在杭电等OJ上练熟,因为部分公司笔试还有打比赛是需要掌握这个的。
Tips:学习算法可以提高逻辑思维能力,对任何人都是有益的。而学习基础算法肯定对学习相关领域特点算法是有促进作用的。
-
算法
+关注
关注
23文章
4618浏览量
93032
发布评论请先 登录
相关推荐
评论