数据结构与算法超级详细版再次更新
经过长时间的总结,把学习的知识串联起来可以帮助记忆
数据结构与算法
1.数据结构
1.1 线性表
1.1.1 数组 array
1.1.2 链表 list
单链表 双向链表 循环链表 双向循环链表 静态链表
1.1.3 栈 stack
顺序栈 链式栈
1.1.4 队 queue
普通队列 双端队列 阻塞队列 并发队列 阻塞并发队列
1.2 散列表
1.2.1散列函数
1.2.2冲突解决
链表法 开放寻址 其他
1.2.3动态扩容
1.2.4位图
1.3 树
1.3.1二叉树
平衡二叉树 二叉查找树 平衡二叉查找树(AVL树,红黑树) 完全二叉树 满二叉树 Huffman树
1.3.2多路查找树
B树 B+树 2-3树 2-3-4树
1.3.3堆
小顶堆 大顶堆 优先级队列 斐波那契堆 二项堆
1.3.4其他
树状数组 线段树
1.4 图
图的存储(邻接矩阵,邻接表) 拓扑排序 最短路径 关键路径 最小生成树 二分图 最大流
2.算法
2.1复杂度分析
2.1.1 空间复杂度
2.1.2 时间复杂度
最好 最坏 平均 均摊
2.2基本算法思想
贪心算法 分治算法 回溯算法 枚举算法 动态规划
2.3排序
2.1.1 0(n^2)
冒泡排序 插入排序 选择排序 希尔排序
2.1.1 o(nlogn)
归并排序 快速排序 堆排序
2.1.1 o(n)
计数排序 基数排序 桶排序
2.4搜索
深度优先搜索 广度优先搜索 启发式搜索
2.5查找
线性表查找 散列表查找 树查找
2.6字符串匹配
朴素 KMP Robin-Karp Boyer-Moor AC自动机 Trie 后缀数组
2.7其他
数论 计算几何 概率分析 并查集 拓扑网络 矩阵运算 线性规划