本项目是由一个在校本科生做的,所以文档方面,英文不会有了, 但是中文文档会尽力写的详细一些,希望大佬们觉得不错的话可以多多支持。
这个项目中会有那些数据结构呢?
- 单向链表(LinkedList)
- 1.1 链表逆序
- 1.2 移除重复项
- 1.3 两链表表示的数字相加
- 1.4 链表从中间反转
- 1.5 遍历一次找到链表的倒数第k个节点
- 1.6 发现带环链表的环入口点
- 1.7 将单链表两两反转
- 1.8 单链表的前k个元素反转
- 1.9 合并两个单链表
- 1.10 从单链表中移除一个节点
- 1.11 检查两个单链表是否交叉
- 双向链表
- LRUCache
- LFUCache
- FIFOCache
- 无向图(Graph)
- 有向图
- 二分搜索树(BinarySearchTree)
- 优先队列(PriorityQueue)
- 哈希表(HashMap)
- 并查集 (Union Find)
- 线段树(SegmentTree)
- AVL树
- 字典树(Trie)
- 红黑树(Red-Black-Tree)
- 排序算法
- 冒泡排序
- 插入排序
- 选择排序
- 归并排序(自顶向下和自底向上)
- 快速排序(单路,随机化,双路,三路)
- 希尔排序
动态数组,栈,队列还有字典类型因为go语言本身就可以用slice和map这种内建类型非常方便的实现,这里就不做了。