Skip to content

BestKind/DataStructure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

数据结构与算法


  • 这个项目旨在加强对数据结构与算法的熟练程度,希望有兴趣的一起加入,也可以提出好的建议。
  • 有任何意见可发邮件至624537070@qq.com or 312998164@qq.com

编程的基本要求

  • 在完成各个实例时必须写好注释
  • 命名标准以驼峰法为准
  • 对于所占用的资源必须进行释放
  • 注释以重要的行进行注释以及每个方法(函数)进行注释

编程语言列表,欢迎各位用不同语言去实现:blush:

  • C
  • C++
  • Java
  • C#

基础数据结构与算法

线性表(单链表、双向链表、循环链表)

* 插入(头插法、尾插法)
* 删除
* 查找

栈和队列

* 插入
* 删除
* 查找

* 串的模式匹配
	1. BF(Brute-Force)算法
	2. KMP算法

数组与广义表

* 对称矩阵的压缩存储
* 稀疏矩阵的压缩存储

树(二叉树,哈夫曼树)

* 构造树
* 清空以T为根的树
* 判空
* 获取给定节点的第i个孩子
* 获取给定节点的双亲
* 遍历树

* 图的邻接矩阵存储实现
* 图的邻接表存储实现
* 图的深度优先遍历
* 图的广度优先遍历
* 最小生成树
	1. Prim算法
	2. Kruskal算法
* 最短路径
* AOV网
* 拓扑排序

文件及查找

* 顺序文件查找
* 索引文件查找
* 散列(Hash)文件查找

内排序

* 插入排序法(含折半插入排序法)
* 选择排序法
* 泡排序法
* 快速排序法
* 堆积排序法
* 归并排序
* 基数排序。

高级数据结构与算法

第一部分. 用于索引的数据结构

* AVL 树
* B+树
* 2-3-4树
* 红黑树

第二部分. 用于优先队列的数据结构

* 堆
* 左偏树与动态树
* 斐波那契堆
* Treap树堆

第三部分. 用于在线动态区间处理的数据结构

* 树状数组(Binary Index Tree)
* 线段树(Segment Tree)
* 伸展树(Splay Tree)
* 跳跃表(Skip List)
* 划分树

第四部分. 用于离线区间处理的数据结构

* 单调队列
* 单调栈

第五部分. 用于集合操作的数据结构

* 并查集
* 哈希表

第六部分. 用于字符串处理的数据结构

* 字典树
* 后缀树
* 后缀数组
* Trie 树
* AC 自动机

About

Will completed by A1011 of JJU University

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5