Skip to content

从底层实现了常用的数据结构及一些基础算法,如:贪心,动态规划,递归回溯等。

Notifications You must be signed in to change notification settings

liboboGitHub/Algorithm-and-data-structure

Repository files navigation

Algorithm-and-data-structure 目录

内容 摘要
数组 二次封装的数组,动态数组,数组的增删改查,使用泛型,均摊复杂度和防止复杂度的震荡
链表 在链表中添加元素,使用链表的虚拟头结点,链表的遍历,查询,修改,删除。
栈和队列 分别使用数组和链表实现栈和队列各种操作。
递归 递归基础与递归的宏观语意,递归运行的机制:递归的微观解读,链表与递归。
二分搜索树 二分搜索树基础,二分搜索树的前序、中序,后序及层序遍历。
集合和映射 集合基础,映射基础,基于二分搜索树和链表的集合和映射的实现。
堆和优先队列 什么是优先队列,基于堆的优先队列,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皇后问题
贪心算法 后续更新...
动态规划 后续更新...

About

从底层实现了常用的数据结构及一些基础算法,如:贪心,动态规划,递归回溯等。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages