数据结构和算法
定义
数据结构和算法尽量考虑实际操作场景,代码的求证和检验。
- 数据结构就是指一组数据的存储结构
- 算法就是操作数据的一组方法
关系
数据结构是为算法服务的,算法要作用在特定的数据结构之上。
方法
- “是什么”,“为什么”,“怎么做”
- 深度优先、广度次之
重点
- 数据结构和算法学习的精髓-复杂度分析(时间和空间)
- 最常用的、最基础的数据结构:数组、链表、栈、队列、散列表、二叉树、堆、跳表、图、Trie 树
- 最常用的算法:递归、排序、二分查找、搜索、哈希算法、贪心算法、分治算法、回溯算法、动态规划、字符串匹配算法。
- 要学习它的“来历”“自身的特点”“适合解决的问题”以及“实际的应用场景”
推荐的书籍
- 入门 《大话数据结构》《算法图解》
- 进阶 《数据结构与算法分析:Java 语言描述》
- 面试 《剑指offer》《编程珠玑》《编程之美》
- 经典《算法导论》《算法》
- 殿堂级 《计算机程序设计艺术》