知乎高赞,如何系统地学习算法?
Posted 程序员吴师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知乎高赞,如何系统地学习算法?相关的知识,希望对你有一定的参考价值。
大家好,我是程序员吴师兄,之前我在知乎写过一个回答如何系统地学习算法,截至目前已经收获了 1w 的赞同,今天特定整理一下,分享给 C 站的小伙伴们,有帮助记得点赞哟。
以下为原文。
不 BB,直接上干货,非科班出生,毕业工作后才开始学算法,到目前学了 4 年 !!!
为了让你对数据结构和算法能有个全面的认识,我画了一张图,里面几乎涵盖了所有数据结构和算法书籍中都会讲到的知识点。
这里面有10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
掌握了这些基础的数据结构和算法,再学更加复杂的数据结构和算法,就会非常容易、非常快。
1、复杂度分析
2、基本算法思想
3、排序算法
4、搜索
5、查找
6、字符串匹配
7、线性表
8、散列表
什么是哈希洪水攻击(Hash-Flooding Attack)?
9、树
面试官:为什么 MySQL 的索引要使用 B+ 树,而不是其它树?比如 B 树?
10、图
总结
学习数据结构和算法的过程,是非常好的思维训练的过程,所以,千万不要被动地记忆,要多辩证地思考,多问为什么。
如果你一直这么坚持做,你会发现,等你学完之后,写代码的时候就会不由自主地考虑到很多性能方面的事情,时间复杂度、空间复杂度非常高的垃圾代码出现的次数就会越来越少。
你的编程内功就真正得到了修炼。大家加油:)
作者简介
作者:大家好,我是程序员吴师兄,在 GitHub 上开源了一个项目 LeetCodeAnimation,目前有 60k star,通过动画的形式讲解算法,已经帮助成千上万的程序员入门算法了,欢迎关注公众号「五分钟学算法」,和我们一起学习算法。
转载说明:未获得授权,禁止转载
以上是关于知乎高赞,如何系统地学习算法?的主要内容,如果未能解决你的问题,请参考以下文章
知乎高赞3万的面试题,累计5000页,已被转2.6w次,肝的太累了