上大学的时候,因为是软件开发专业,所以数据结构和算法是必修课,工作这么多年,在很多优秀的框架里面,也能看到数据结构和算法的使用,但是自己一直没有认真整理过,所以打算从这篇开始,在工作闲暇之余,把自己对下面这些内容的理解,都分篇整理一下。虽然这方面网上有很多文章了,但是为了方便自己的查阅和理解,还是自己整理的比较方便。
1.复杂度
- 时间复杂度
- 空间复杂度
2.线性数据结构
- 动态数组(Array)
- 链表(LinkedList)
- 单向链表
- 双向链表
- 循环链表(单向循环链表、双向循环链表)
- 静态链表
- 栈(Stack)
- 队列(Queue)
- 哈希表(HashTable)
- 位图(非重点)
3.树形数据结构
- 二叉树(真二叉树、满二叉树、完全二叉树)
- 二叉搜索树(Binary Search Tree、BST)
- 平衡二叉搜索树(Balanced Binary Search Tree、BBST)
- AVL树
- 红黑树(Red Black Tree)
- B树(B+树)
- 集合(TreeSet)
- 映射(TreeMap)
- 哈夫曼树
- Trie
4.线性+树形数据结构
- 集合(HashSet)
- 映射(HashMap、LinkedHashMap)
- 二叉堆(Binary Heap)
- 优先级队列(Priority Queue)
- 并查集(Union Find)
5.图(Graph)
- 无向图(Undirected Graph)
- 有向图(Directed Graph)
- 有权图(Weighted Graph)
- 图的广度优先搜索、深度优先搜索
A.10大排序算法
- 冒泡排序(Bubble Sort)
- 选择排序(Selection Sort)
- 插入排序(Insertion Sort)
- 归并排序(Merge Sort)
- 快速排序(Quick Sort)
- 希尔排序(Shell Sort)
- 堆排序(Heap Sort)
- 计数排序(Counting Sort)
- 基数排序(Radix Sort)
- 桶排序(Bucket Sort)
B.五大查找算法
- 顺序查找
- 二分查找
- 插值查找
- 斐波那契查找
- 树表查找
C.六类算法思想
- 递归
- 回溯
- 贪心
- 分治
- 动态规划
- 分支界限
D.其他
- 字符串KMP算法
- Trie字典树
END。
我是小侯爷。
在帝都艰苦奋斗,白天是上班族,晚上是知识服务工作者。
如果读完觉得有收获的话,记得关注和点赞哦。
非要打赏的话,我也是不会拒绝的。