作者 | 程序员小吴 来源 | 五分钟学算法 为了让你对数据结构和算法能有个全面的认识,我画了一张图,里面几乎涵盖了所有数据结构和算法书籍中都会讲到的知识点。 这里面有10个数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树;10个算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。 掌握了这些基础的数据结构和算法,再学更加复杂的数据结构和算法,就会非常容易、非常快。 1、复杂度分析2、基本算法思想3、排序算法4、搜索5、查找6、字符串匹配7、线性表8、散列表什么是哈希洪水攻击(Hash-Flooding Attack)? 9、树面试官:为什么 MySQL 的索引要使用 B+ 树,而不是其它树?比如 B 树? 10、图总结学习数据结构和算法的过程,是非常好的思维训练的过程,所以,千万不要被动地记忆,要多辩证地思考,多问为什么。 如果你一直这么坚持做,你会发现,等你学完之后,写代码的时候就会不由自主地考虑到很多性能方面的事情,时间复杂度、空间复杂度非常高的垃圾代码出现的次数就会越来越少。 你的编程内功就真正得到了修炼。大家加油:) |
|
来自: 刘连华yhtxnvca > 《编程技术文摘》