本系列是极客时间中前 Google 工程师王争《数据结构与算法之美》专栏的学习笔记,想加强数据结构及算法能力的同学可以直接购买此专栏,跳转链接在此
什么是数据结构?什么是算法?
从广义上讲,数据结构就是指一组数据的存储结构。算法就是操作数据的一组方法。
数据结构和算法是相辅相成的。数据结构是为算法服务的,算法要作用在特定的数据结构之上。
数据结构是静态的,它只是组织数据的一种方式。如果不在它的基础上操作、构建算法、孤立存在的数据结构就是没用的
数据结构和算法知识点汇总
以下是王争概括的数据结构和算法知识点汇总
常用及基础数据结构与算法
数据结构
数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树
算法
递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法
书单推荐
入门
- 《大话数据结构》本书最大特点理论讲的有趣不枯燥
- 《算法图解》本书最大特点主打图解,通俗易懂
面试
- 《剑指 offer》本书几乎包含了所有常见的、经典的面试题
- 《编程珠玑》讲了很多针对海量数据的处理技巧
- 《编程之美》本书作者绝大多数为微软的工程师,所以里面算法题目稍微偏难,面试 Google,Facebook 这样的公司可以使用此书
针对特定编程语言的教科书
- 《数据结构与算法分析:C++ 描述》
- 《数据结构与算法分析:C 语言描述》
- 《数据结构与算法分析:Java 语言描述》
经典之做
- 《算法导论》里面充斥这各种算法的正确性、复杂度的证明、推导,数学公式比较大,看起来比较吃力
- 《算法》内容比较友好,更适合初学者入门。但是内容不够全面,比较动态规划这么重要的知识点,本书并没有讲。
殿堂级经典
- 《计算机程序设计艺术》这套书的深度、广度、系统性、全面性是其他所有数据结构和算法书籍都无法相比的。
代码
声明
本文更多是本人学习笔记之用,更多详细的讲解级代码查看极客时间专栏《数据结构与算法之美》