没有合适的资源?快使用搜索试试~ 我知道了~
常用数据结构代码整理合集
需积分: 0 1 下载量 130 浏览量
2022-12-15
22:00:28
上传
评论 1
收藏 37.46MB PDF 举报
温馨提示
试读
151页
常见数据结构代码整理 这个不是笔者自己写的 大家适用即可
资源推荐
资源详情
资源评论
数据结构
宏定义
1. 线性表
顺序表(Sequence List)
初始化
获取元素
查找元素
插入
删除
销毁,清空,检查为空
顺序表的头文件
单链表(Single Linked List)
初始化
创建链表(头插法)
创建链表(尾插法)
获取元素
查找元素
插入元素
删除元素
总结插入和删除操作算法的不同
销毁链表
单链表头文件
循环链表(Circular Linked List)
双向链表(Double Linked List)
初始化
创建双向链表
插入和删除
线性表玩具
线性表合并
有序表合并(并归排序的基础)
有序链表合并
多项式创建 and 多项式相加
2. 栈和队列(Stack and Queue)
顺序栈(Sequence Stack)
栈的类型定义
栈的初始化
入栈(Push)
出栈(Pop)
栈的其他操作
测试代码
链栈(Linked Stack)
链栈的类型定义
链栈初始化
链栈Push
链栈Pop
链栈的其他操作
测试代码
Stack.h
栈与递归
By: LI LIANGJI (Wechat:llj907015000)
No. 1 / 99
函数的调用过程
循环队列
顺换队列初始化
顺换队列入队
循环队列出队
循环队列其他操作
测试代码
链队
链队初始化
链队入队
链队出队
栈和队列玩具
进制转化
括号的匹配
10以内的计算器
3. 字符串,数组,广义表
字符串匹配
BF算法(Brute Force)
KMP算法
求next数组
字符串匹配玩具
数组
广义表(Generalized List)
4. 树、二叉树、森林
定义
树的基本术语
二叉树的定义
二叉树的性质
二叉树定理
完全二叉树性质及定理
链式二叉树
存储结构
遍历方式(递归)
遍历方式(非递归)
先序遍历创建二叉树
测试(创建,遍历)
层次遍历算法
复制二叉树
求深度和节点数
销毁二叉树(递归和非递归)
头文件
线索二叉树 Threaded Binary Tree(了解即可)
数据类型定义
树和森林
树的存储结构
1. 双亲表示法
2. 孩子链表
3. 孩子兄弟表示法(树转化二叉树的基础)
树与二叉树之间相互转换
树转二叉树
By: LI LIANGJI (Wechat:llj907015000)
No. 2 / 99
二叉树转树
森林与二叉树之间的转化
森林转二叉树
二叉树转森林
树和森林的遍历
树的遍历
森林的遍历
哈夫曼树
术语
最优二叉树
构造哈夫曼树
step和定理
代码实现
哈夫曼编码
代码实现
整体头文件
5. 图(Graph)
图的定义和术语
完全图
稀疏图(Sparse Graph)和稠密图(Dense Gaph)
顶点的度(degree)
路径(path)
连通图(Connected Graph)
连通子图和连通分量(Connected Component)
极小连通子图和生成树(Spanning Tree)
图的存储结构
邻接矩阵(Adjacency Matrix)
无向图
有向图
带权图(网) weighted Graph
代码实现
无向无权图
无向带权图
有向带权图
有向无权图
邻接表(Adjacency List)
代码实现
无向无权图
邻接表和邻接矩阵的比较
十字链表
邻接多重链表
图的遍历
深度优先 (Depth First Search)
遍历矩阵
遍历邻接表
广度优先 (Breadth First Search)
遍历矩阵
遍历邻接表
算法效率
最小生成树 Spanning Tree
By: LI LIANGJI (Wechat:llj907015000)
No. 3 / 99
Prim 算法
代码实现
邻接矩阵
邻接表
Kruskal 算法
代码实现
邻接矩阵
邻接表
最短路径
Dijkstra 算法
代码实现
邻接矩阵
Floyd算法
代码实现
邻接矩阵
有向无环图(Directed Acycline Graph)
AOC和AOE
拓扑排序
代码实现
邻接表
关键路径
代码实现
邻接表
图的头文件
define_Graph.h
AMGraph.h
ALGraph.h
By: LI LIANGJI (Wechat:llj907015000)
No. 4 / 99
数据结构
宏定义
在本笔记中用到的宏定义,头文件为define.h
1. 线性表
顺序表(Sequence List)
特点:逻辑上相邻的数据元素,其物理次序也是相邻的
线性表中第 个数据元素的存储位置 和第 个元素满足下列关系
代表每个元素所占的存储单元
循序表的存储结构:
初始化
#ifndef __DEFINE_H
#define __DEFINE_H
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
#endif
#define SQLMAXSIZE 100
typedef int SqlElemType;
typedef struct __Sqlist {
SqlElemType *base;
int length;
} Sqlist;
By: LI LIANGJI (Wechat:llj907015000)
No. 5 / 99
剩余150页未读,继续阅读
资源评论
Y_main
- 粉丝: 159
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功