数据结构与算法分析
文章平均质量分 72
近景_
这个作者很懒,什么都没留下…
展开
-
数据结构C++——选择排序(简单选择排序和堆排序)
数据结构C++——选择排序(简单选择排序和堆排序)文章目录数据结构C++——选择排序(简单选择排序和堆排序)一、待排序记录的数据类型定义二、简单选择排序三、堆排序四、测试的完整代码五、总结一、待排序记录的数据类型定义待排序记录的数据类型/*------------待排序记录的数据结构类型定义----------*/#define MAXSIZE 1001//顺序表的最大长度typedef int KeyType;//定义关键字类型为整型typedef int InfoType;typedef原创 2021-06-14 16:03:50 · 373 阅读 · 4 评论 -
数据结构C++——交换排序(冒泡排序和快速排序)
数据结构C++——交换排序文章目录数据结构C++——交换排序一、待排序的数据类型定义二、冒泡排序三、快速排序四、测试的完整代码五、总结一、待排序的数据类型定义待排序的数据类型/*------------待排序记录的数据结构类型定义----------*/#define MAXSIZE 1001//顺序表的最大长度typedef int KeyType;//定义关键字类型为整型typedef int InfoType;typedef struct { KeyType key;//关键字项原创 2021-06-14 13:09:43 · 736 阅读 · 2 评论 -
数据结构C++——插入排序(直接插入排序、折半插入排序和希尔排序)
数据结构C++——插入排序文章目录数据结构C++——插入排序一、待排序记录的数据类型定义二、直接插入排序三、折半插入排序四、希尔排序五、测试的完整代码六、总结一、待排序记录的数据类型定义待排序记录的数据类型定义/*------------待排序记录的数据结构类型定义----------*/#define MAXSIZE 1001//顺序表的最大长度typedef int KeyType;//定义关键字类型为整型typedef int InfoType;typedef struct { Ke原创 2021-06-13 17:02:53 · 1053 阅读 · 1 评论 -
数据结构C++——二叉排序树
数据结构C++——二叉排序树文章目录数据结构C++——二叉排序树一、前言二、二叉排序树的相关概念三、树表的查找①二叉排序树的存储表示②二叉排序树的递归查找③二叉排序树的插入④二叉排序树的创建⑤二叉排序树的删除四、完整测试代码五、总结一、前言二叉排序树用到了二叉树中序遍历的知识,以及树的相关操作部分的知识,由于笔者在之前的文章中已介绍过树的知识,在此不再过多赘述,对此部分不太了解的读者欢迎移步此文章,共同学习!:数据结构C++——二叉树的遍历(递归和非递归)及一些简单操作二、二叉排序树的相关概念(原创 2021-06-13 12:09:32 · 4360 阅读 · 2 评论 -
数据结构C++——关键路径
数据结构C++——关键路径文章目录数据结构C++——关键路径一、前言二、关键路径的概念三、关键路径的实现①关键路径的实现原理②关键路径的代码实现③测试的全部代码四、总结一、前言理解关键路径需要掌握拓扑排序和邻接表的相关知识,由于此部分笔者在之前的文章中已经介绍过,此处不再过多赘述,对此部分知识还不熟练的读者,欢迎移步此文章,共同学习!:数据结构C++——拓扑排序数据结构C++——图的邻接矩阵和邻接表二、关键路径的概念(1)AOE-网:与AOV-网相对应的是AOE-网 , 即以边表示活动的网。A原创 2021-06-07 14:33:12 · 3902 阅读 · 4 评论 -
数据结构C++——拓扑排序
数据结构C++——拓扑排序文章目录数据结构C++——拓扑排序一、前言二、拓扑排序的概念及作用三、拓扑排序的实现①拓扑排序的实现原理②拓扑排序中FindInDegree()函数的实现③拓扑排序的代码实现④完整测试代码四、总结一、前言拓扑排序需要用到栈和邻接表的相关知识,由于笔者在之前的文章中已经介绍过栈和邻接表,此处不再过多赘述,对此部分还不太了解的读者欢迎移步此文章,共同学习!:数据结构C++——栈数据结构C++——图的邻接矩阵和邻接表.二、拓扑排序的概念及作用(1)有向无环图:一个无环的有向原创 2021-06-07 00:09:44 · 23191 阅读 · 9 评论 -
数据结构C++——最短路径之Dijkstra算法和Floyd算法
数据结构C++——最短路径之Dijkstra算法和Floyd算法文章目录数据结构C++——最短路径之Dijkstra算法和Floyd算法一、最短路径之Dijkstra算法①Dijkstra算法的实现原理②Dijkstra算法的代码实现③测试的完整代码二、最短路径之Floyd算法①Floyd算法的实现原理②Floyd算法的代码实现③测试的完整代码三、总结一、最短路径之Dijkstra算法①Dijkstra算法的实现原理算法的实现要引入三个辅助数组:①:S[i]:记录从源点v0到终点v1是否已被确定最原创 2021-06-06 12:36:02 · 2234 阅读 · 0 评论 -
数据结构C++——最小生成树之Prim算法和Kruskal算法
数据结构C++——最小生成树之Prim算法和Kruskal算法文章目录数据结构C++——最小生成树之Prim算法和Kruskal算法一、最小生成树的基本概念二、最小生成树之Prim算法①Prim算法的实现原理②Prim算法中的Min函数的实现③Prim算法的代码实现④测试的完整代码三、最小生成树之Kruskal算法①Kruskal算法的实现原理②Krusal算法的代码实现③测试的完整代码四、总结一、最小生成树的基本概念最小生成树: 在一个连通网的所有生成树中,各边的代价之和最小的那棵生成树称为该连通网原创 2021-06-04 18:27:56 · 5427 阅读 · 0 评论 -
数据结构C++——图的遍历DFS和BFS
数据结构C++——图的遍历DFS和BFS文章目录数据结构C++——图的遍历DFS和BFS一、深度优先搜索遍历(DFS)①DFS的过程②FirstAdjVex()函数的代码实现③NextAdjVex()函数的代码实现④深度优先搜索遍历连通图⑤深度优先搜索遍历非连通图⑥采用邻接矩阵表示DFS⑦采用邻接表表示DFS⑧测试的完整代码二、广度优先搜索遍历①BFS的过程②广度优先搜索遍历连通图③广度优先搜索遍历非连通图④采用邻接矩阵表示BFS⑤采用邻接表表示BFS⑥测试的完整代码三、总结一、深度优先搜索遍历(DFS原创 2021-06-03 00:24:36 · 2142 阅读 · 7 评论 -
数据结构C++——图的邻接矩阵和邻接表
数据结构C++——图的邻接矩阵和邻接表文章目录数据结构C++——图的邻接矩阵和邻接表一、图的介绍及概念二、图的邻接矩阵①邻接矩阵的存储结构②邻接矩阵表示法创建无向网③LocateVex()函数的代码实现④打印邻接矩阵⑤测试的完整代码⑥邻接矩阵的优缺点分析二、图的邻接表①邻接表的存储结构②邻接表表示法创建无向图③LocateVex()函数的代码实现④打印邻接表⑤测试的完整代码⑥邻接表的优缺点分析三、总结一、图的介绍及概念哈夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用原创 2021-05-31 22:41:18 · 10450 阅读 · 2 评论 -
数据结构C++——哈夫曼树及哈夫曼编码
数据结构(C++)——哈夫曼树及哈夫曼编码文章目录数据结构(C++)——哈夫曼树及哈夫曼编码一、哈夫曼树的介绍及概念二、哈夫曼树的构造及打印①哈夫曼树的存储结构②构造哈夫曼树③Select()函数的代码实现④打印哈夫曼树⑤测试的完整代码二、哈夫曼编码①哈夫曼编码的相关概念②哈夫曼编码的算法实现③输出哈夫曼编码④测试的完整代码三、总结一、哈夫曼树的介绍及概念哈夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。(1) 路径:从树中一个结点到另一个结点之间的分支构成这两原创 2021-05-30 17:26:54 · 5823 阅读 · 3 评论 -
数据结构C++——二叉树的遍历(递归和非递归)及一些简单操作
数据结构与算法分析(C++)——二叉树文章目录数据结构与算法分析(C++)——二叉树一、前言二、二叉树的一些常见操作①二叉树的存储结构②二叉树的先序遍历③二叉树的中序遍历④二叉树的后序遍历⑤复制二叉树⑤计算二叉树的深度三、完整代码三、总结一、前言树的遍历操作需要和栈相结合,虽然C++中有许多关于数据结构的头文件可以直接拿来使用,但对于数据结构的初学者,栈的常见操作、基本原理、代码实现都应该了熟于心。关于数据结构——栈的文章:链接: 数据结构与算法分析(C++)——栈.二、二叉树的一些常见操作①二原创 2021-05-29 14:53:41 · 4225 阅读 · 0 评论 -
数据结构C++——队列
关于队列的一些笔记(C++)文章目录关于队列的一些笔记(C++)循环队列的一些常见操作①循环队列的存储结构②循环队列的初始化③循环队列的入队④循环队列的出队⑤取循环队列队头元素⑥求循环队列长度链队的一些常见操作①链队的存储结构②链队的初始化③链队的入队④链队的出队⑤取队头元素循环队列的一些常见操作①循环队列的存储结构循环队列的存储结构#define MAXQSIZE 100#define OK 1#define ERROR 0typedef int Status;typedef int原创 2021-05-05 18:24:34 · 344 阅读 · 0 评论 -
数据结构C++——栈
关于栈的一些笔记(C++)文章目录关于栈的一些笔记(C++)顺序栈的一些常见操作①顺序栈的存储结构②顺序栈的初始化③顺序栈的入栈④顺序栈的出栈⑤取栈顶元素链栈的一些常见操作①链栈的存储结构②链栈的初始化③链栈的入栈④链栈的出栈⑤取栈顶元素顺序栈的一些常见操作①顺序栈的存储结构顺序栈的存储结构/*---------顺序栈的存储结构--------*/#define MAXSIZE 100#define OK 1#define ERROR 0;typedef int Status;type原创 2021-05-04 18:24:29 · 580 阅读 · 0 评论