数据结构
白小Bai
这个作者很懒,什么都没留下…
展开
-
分块查找算法实现c/c++
# include<iostream># include<string.h>using namespace std;int fenKuai(int ** arr1, int * arr2, int key, int len1, int len2){ int low = 0; int high = len1 - 1; int mid; int index1, index2; if (key < arr1[0][0]){原创 2021-10-23 15:26:36 · 230 阅读 · 0 评论 -
采用广度优先遍历(BFS)算法求:无权图的单源最短路径代码实现
/*1. 采用广度优先遍历(BFS)算法求:无权图的单源最短路径2. 【回顾】最短路径和最小生成树的区别: 1. 最小生成树是指:将图连通之后,整个数的权和加起来最小,针对的是整体 - 普利姆算法 - 克鲁斯卡尔算法 2. 最短路径是指:对于图的两个结点而言,他们之间的路径最短 1. 分类: 1. 单元最短路径:从某顶点出发,到其他全部顶点的最短路径 1. 无权图:原创 2021-09-29 09:23:50 · 622 阅读 · 1 评论 -
c++实现图的深度遍历(邻接矩阵法)
/* 图的深度优先遍历(邻接矩阵的存储结构): 注意: 1. 在创建图的邻接表的时候,需要传参 * ,因为指针传递能够改变实际的参数 2. 在创建一个数据结构的时候的思路就是:这个结构里面的有什么东西,把这些东西都附上值就可以了*/# include<iostream># include<string>using namespace std;// 图的最大顶点值# define MAX 30// 访问向量,判断某个顶点是否原创 2021-09-24 17:04:34 · 624 阅读 · 0 评论 -
图的广度优先伪代码实现-c++
/* 图的广度优先算法(邻接矩阵的存储结构,无权图): 1. 算法思想: 1. 访问顶点 2. visited[i]置为true 3. 入队 4. - 出队 - 访问所有的邻接顶点,置true,入队,重复步骤4 2. 回顾循环队列: 1. 基本的结构: - 为了便于区分 front = rear是表示当前队列是满的还是空的,使用了带有一个原创 2021-09-26 18:27:53 · 332 阅读 · 0 评论 -
单源有权图的最短路径,迪杰斯特拉算法实现
/* 单源有权图的最短路径,迪杰斯特拉算法*/# include<iostream># include<string>using namespace std;# define MAX 30int dist[MAX];int path[MAX];bool sure[MAX];// 图的结构struct Matrix{ char vex[MAX]; int arc[MAX][MAX]; int vexnum, arcnum;};原创 2021-09-29 09:18:05 · 97 阅读 · 0 评论