书:pan.baidu.com/s/1rOoEvizAhkQyF8xScVh51w?pwd=8onw
提取码:8onw
我的阅读笔记:
- Python语言基础:包括变量、数据类型、控制结构、函数等基本概念。
- 数据结构:数组与列表:动态数组的实现、列表操作的时间和空间复杂度。 链表:单链表、双链表、循环链表及其操作。 栈与队列:后进先出(LIFO)和先进先出(FIFO)数据结构的实现和应用。 树:二叉树、二叉搜索树、AVL树、红黑树等及其遍历算法。 图:图的表示(邻接矩阵、邻接表)、图的遍历(深度优先搜索、广度优先搜索)。 堆:二叉堆(最大堆、最小堆)及其在优先队列中的应用。 散列表(哈希表):哈希函数的设计和冲突解决方法。
- 算法分析:时间复杂度:评估算法运行时间的方法,包括最好、最坏和平均情况分析。 空间复杂度:评估算法所需额外存储空间的方法。 渐近分析:使用大O表示法来描述算法的效率。
- 排序算法:基本排序算法:冒泡排序、选择排序、插入排序。 高效排序算法:快速排序、归并排序、堆排序、计数排序、桶排序、基数排序等。 排序算法的比较:不同排序算法在不同场景下的性能分析。
- 查找算法:线性查找:在列表或数组中查找元素的简单方法。 二分查找:在有序列表中高效查找元素的方法。 哈希表查找:使用散列表进行快速查找。
- 图算法:最短路径算法:Dijkstra算法、Bellman-Ford算法、Floyd-Warshall算法。 最小生成树:Prim算法、Kruskal算法。
- 动态规划:解决最优化问题的技术,包括背包问题、最长公共子序列、最短编辑距离等。
- 算法设计与分析技巧:分治法、贪心法、动态规划、回溯法等。
- Python标准库和第三方库:如
collections
模块中的数据结构(如deque
、Counter
等)以及heapq
、bisect
等库在算法实现中的应用。 - 算法的实际应用:通过案例研究,探讨数据结构和算法在解决实际问题中的应用。