全国服务热线

新闻资讯

联系我们

地址:广东省广州市天河区88号
联系电话:
邮箱:admin@baidu.com


当前位置:官网首页 > 新闻资讯 > 公司新闻 >

公司新闻

怎样学习算法

作者: 时间:2019-05-07 08:51   

www.w66com算法看懂了,不一定能够写出了

算法能够写出来,不一定能够讲出来

算法能够讲出来,并且写出来,并且举一反三,说明是真的懂了。

看别人的算法写出来的代码,永远不是自己的代码,只能算抄袭。。。。

Step1.

没有算法基础的同学,尤其连数组、堆栈、二叉树的遍历,几个基本排序算法代码都写不出来的同学,别看《算法导论》,等于小学数学没学好,看大学数学。

怎样学习算法

Step1-Step2:在这期间推荐的书有《算法》,可以通过读书、做题、刷OJ来提高

Step2

浏览《算法导论》目录发现一半以上完全没见过,在上面的基础上去OJ练一两个月,把网络流基本算法步骤、凸包、并查集、线段树、贪心动态规划、双指针思想,扫描线思想,Trie树,逆序数以及基本数论算法知识补上再说

Step3

如果能够过算法面试关,并且有兴趣,有时间,再啃《算法导论》,当然最基本的高等数学、矩阵、离散数学知识要有。

补充step2的步骤,在step2这个阶段是打基础最关键的时期,分为算法入门区和算法进阶区。。。。。

算法入门区的标准,链表reverse以及数组的原地reverse无脑写出,快速排序和归并排序无脑写出,熟练运用快速排序和归并排序的思想。二分法问题熟练写出,BFS和DFS熟练写出,熟练使用队列,哈希表,堆等数据结构,最后达到Leetcode上medium题无压力写出。

补充:做算法题一定要归类,归的类要具有一般性。另外程序写出来,一定要先自己检查一遍,就像交卷子之前检查下数学试卷一样,另外推荐Leetcode这种OJ,给出函数让你写,可以把主要精力放在设计算法上,而不用去处理IO之类的问题。

但是IO之类的问题可以在杭电等OJ上练熟,因为部分公司笔试还有打比赛是需要掌握这个的。

tips:学习算法可以提高逻辑思维能力,对任何人都是有益的。而学习基础算法肯定对学习相关领域特点算法是有促进作用的。