数据结构与算法超级详细版再次更新

经过长时间的总结,把学习的知识串联起来可以帮助记忆

数据结构与算法

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其他

数论 计算几何 概率分析 并查集 拓扑网络 矩阵运算 线性规划

经验分享 程序员 微信小程序 职场和发展