数据结构与算法超级详细版再次更新
经过长时间的总结,把学习的知识串联起来可以帮助记忆
数据结构与算法
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树,红黑树)
完全二叉树
满二叉树
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其他
数论
计算几何
概率分析
并查集
拓扑网络
矩阵运算
线性规划