当前位置:   article > 正文

C语言的数据结构:图的基本概念

C语言的数据结构:图的基本概念

前言

之前学过了其它的数据结构,如:
集合 \color{#5ecffd}集合 集合 —— 数据元素属于一个集合。
线型结构 \color{#5ecffd}线型结构 线型结构 —— 一个对一个,如线性表、栈、队列,每一个节点和其它节点之间的关系 一个对一个 \color{orange}一个对一个 一个对一个
树型结构 \color{#5ecffd}树型结构 树型结构 —— 一个对多个,如树。

现在要接触一下图这个结构了,图是多个对多个的结构,其没有初始结点,也没有最终结点。每一个节点都称为顶点。
图 \color{#5ecffd}图 ——因为图是若干个顶点,顶点之间相互连接,没有先后顺序,所以图没有顺序存储结构,但可以借助二维数组来表示元素间的关系( 邻接矩阵 \color{orange}邻接矩阵 邻接矩阵)。链式存储结构也可以描述图: 邻接表、邻接多重表、十字链表 \color{orange}邻接表、邻接多重表、十字链表 邻接表、邻接多重表、十字链表

邻接矩阵

存储表示:用两个数组分别存储 顶点表 \color{orange}顶点表 顶点表 邻接矩阵 \color{orange}邻接矩阵 邻接矩阵

#define MAZINT 32767	//极大值
#define MVNUM 100		//最大顶点数
typedef char VerTexType;	//设顶点的数据类型为字符型
typedef int ArcType;		//假设边的权值类型为整型

typedef struct {
	VerTexType vexs[MVNUM];		//顶点表
	ArcType	arcs[MVNUM][MVNUM];	//邻接矩阵
	int vexnum,arcnum;			//图的当前点数和边数
}AMGraph;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

图的定义和术语

Graph = (Vertex,Edge)
G = (V,E)
V:Vertex 顶点,描述:顶点数据有有穷非空集合。
E:Edge 边,描述:边的有空集合。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/783592

推荐阅读
相关标签