图:图是由顶点集合V和顶点间的关系集合E(边的集合)组成的一种数据结构,可以用二元组定义为G=(V,E)。
有向图:如果用箭头标明了边是有方向性的,则这样的图称为有向图。
弧:有向边也称为弧。<x,y>表示从顶点x发向顶点y的边。
权:在图的边或弧中给出相关的数,称为权。权可以代表一个顶点到另一个顶点的距离,费用等,带权图一般称为网。
下面是一个示例的有向权图:
这是有向权图的顶点存储数组和邻接矩阵:
下面是C语言的代码,把这个有向权图存储了起来:
#include <stdio.h>
#define N 5 // 图中的顶点数
#define E 9 // 图中的边数
struct graph {
int V[N]; // 存放顶点的信息
int arcs[N][N]; // 邻接矩阵
};
void main() {
int i, j;
struct graph g = {
{ 0, 1, 2, 3, 4 },
{ 0 }
};
// 初始化所有顶点之间都没有弧,权都为-1
for(i = 0; i < N; i++) {
for(j = 0; j < N; j++) {
if(i != j) {
g.arcs[i][j] = -1;
}
}
}
// 存储图中的9条边
g.arcs[0][1] = 3;
g.arcs[0][4] = 5;
g.arcs[1][2] = 25;
g.arcs[1][3] = 8;
g.arcs[2][4] = 10;
g.arcs[3][0] = 20;
g.arcs[3][2] = 4;
g.arcs[3][4] = 12;
g.arcs[4][0] = 30;
// 输出矩阵
for(i = 0; i < N; i++) {
for(j = 0; j < N; j++) {
printf("%d\t", g.arcs[i][j]);
}
printf("\n");
}
}
- 大小: 18.8 KB
- 大小: 22.6 KB
分享到:
相关推荐
无向图的邻接矩阵存储及输出无向图的邻接矩阵存储及输出
图的邻接矩阵存储和邻接表存储 代码完整 有注释,有需要的可以下载看看,基本是图的邻接矩阵存储和邻接表存储 代码完整
图的邻接矩阵存储表示和实现图的邻接矩阵存储表示和实现图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接矩阵存储表示和实现,图的邻接...
头歌数据结构图的邻接矩阵存储及遍历操作 第1关图的邻接矩阵存储及求邻接点操作 第2关图的深度优先遍历 第3关图的广度优先遍历 稳过
建立有向图G的邻接矩阵存储,包括邻接矩阵结构,初始化等
有向图邻接矩阵c++运算操作 基本操作 邻接矩阵 c++实现
分别采用邻接矩阵、邻接表存储结构实现图的遍历
以文件操作输入邻接矩阵存储的无向图,广度和深度的递归遍历
设计一个有向图和一个无向图,使用邻接矩阵和邻接表存储结构,完成在这两种存储结构下有向图和无向图的DFS(深度优先遍历)和BFS(广度优先遍历)的操作。 三、实验要求: 1. 根据实验内容编程,画出你所设计的图,...
程序设计任务: 设计一个程序,实现以邻接表或者邻接矩阵为存储结构,实现连通无向图的深度优先和广度优先遍历。基本要求:以邻接表或者邻接矩阵为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的...
定义采用邻接矩阵存储的图结构封装DFS、BFS算法
c语言写的有向图邻接矩阵的实现,通过使用图的邻接矩阵实现图的存储结构存储。
领会图的两种主要存储结构、图基本运算算法和两种遍历算法设计内容:编写一个程序,设计带权图的邻接矩阵与邻接表的创建和输出运算,并在此基础上设计一个主程序完成如下功能:(1)建立如图所示的有向图G的邻接矩阵...
题目1:用邻接矩阵存储结构创建图。 要求: 采用邻接矩阵作为图的存储结构,实现四种不同类型图(无向图、有向图、无向网和有向网)的创建,并将邻接矩阵值进行显示输出; 程序运行时输入图的顶点及边的信息。
基于邻接矩阵存储的图的最短路径问题,可以很好的学习C++和数据结构
这是用邻接矩阵作存储结构的图类源代码,有完整的注释(每个变量的作用、函数执行的过程的文字描述等)。下面是图类的声明部分: //用邻接矩阵表示的图的类的定义 template class Graph { private: static ...
邻接矩阵存储的结构体中,包括一个存储边的结构体,存储每条边的信息(权值)将这个边的结构体的二维数组作为图的基本存储结构,放到单个图的结构体中每个图又包含总节点数、总边数、图的类型等信息
利用邻接表和邻接矩阵存储结构,对有向或无向图进行插入、删除节点和边的操作! 利用邻接表和邻接矩阵存储结构,对有向或无向图进行插入、删除节点和边的操作!
基于邻接矩阵存储的图的最小生成树的Prime算法,对学习C++和数据结构很有帮助
1)实现图的邻接矩阵和邻接表存储结构; 2)完成基于邻接矩阵的深度优先搜索遍历及广度优先搜索遍历; 3)实现从键盘输入任意一对顶点,求出顶点间的最短路径。