内容 | 摘要 |
---|---|
数组 | 二次封装的数组,动态数组,数组的增删改查,使用泛型,均摊复杂度和防止复杂度的震荡 |
链表 | 在链表中添加元素,使用链表的虚拟头结点,链表的遍历,查询,修改,删除。 |
栈和队列 | 分别使用数组和链表实现栈和队列各种操作。 |
递归 | 递归基础与递归的宏观语意,递归运行的机制:递归的微观解读,链表与递归。 |
二分搜索树 | 二分搜索树基础,二分搜索树的前序、中序,后序及层序遍历。 |
集合和映射 | 集合基础,映射基础,基于二分搜索树和链表的集合和映射的实现。 |
堆和优先队列 | 什么是优先队列,基于堆的优先队列,Java中的PriorityQueue。 |
线段树 | 线段树基础表示,线段树中的区间查询。 |
字典树 | Trie字典树基础,Trie字典树的前缀查询,Trie字典树和简单的模式匹配。 |
并查集 | Quick Find,Quick Union,基于size的优化,基于rank的优化,路径压缩。 |
平衡树和AVL | 检查二分搜索树性质和平衡性,旋转操作的基本原理,从AVL树中删除元素。 |
红黑树 | 红黑树的基本性质和复杂度分析,颜色翻转和右旋转, 红黑树中添加新元素。 |
哈希表 | 哈希表基础,实现属于我们自己的哈希表,哈希表的动态空间处理与复杂度分析。 |
堆排序 | 堆的基本存储,优化的堆排序 - Heap Sort。 |
图的基础 | 图论基础,图的算法框架, 广度优先遍历和无权图的最短路径。 |
最小生成树 | 最小生成树问题和切分定理,Prim算法的优化,Kruskal算法。 |
基础排序算法 | 选择排序 - Selection Sort,插入排序法 - Insertion Sort。 |
高级排序算法 | 归并排序法 - Merge Sort,快速排序法 - Quick Sort。 |
递归与回溯法 | 经典排列和组合问题,剪枝操作,二维平面上的回溯问题,N皇后问题 |
贪心算法 | 后续更新... |
动态规划 | 后续更新... |
-
Notifications
You must be signed in to change notification settings - Fork 1
liboboGitHub/Algorithm-and-data-structure
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
从底层实现了常用的数据结构及一些基础算法,如:贪心,动态规划,递归回溯等。
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published