数据结构知识点复习(四)

第6章 图

在有向图中,顶点用尖括号,在无向图中,顶点用圆括号
例如<x,y>和<y,x>是不相同的,但是(x,y)和(y,x)是相同的。

在图中,一般用n来表示顶点的数目,用e来表示边的数目

无向完全图和有向完全图:
无向完全图:边的数目为n(n-1)/2
有向完全图:边的数目为n(n-1)
:带权的图往往称为网
入度和出度的概念是对于有向图而言的。在有向图中,所有顶点的入度和出度之和的1/2为图的边数
路径长度:是一条路径上通过边的条数
连通、连通图、连通分量:有路径——连通 在图中,任一顶点都有路径——连通图
无向图中的极大连通子图——连通分量
在这里插入图片描述
强连通图和强连通分量:是相对于有向图而言的。
连通图的生成树:一个极小连通子图,他包含图中的所有顶点,但是只有足以构成一棵树的n-1条边
在这里插入图片描述
如果一个图有n个顶点和小于n-1条边,那一定是非连通图,如果他多于n-1条边,那一定有环。

有向树和生成森林:只有一个点的入度为0,其余点的入度均为1的有向图称为有向树
生成森林:由若干棵有向树组成,且互不相交
在这里插入图片描述
6.4图的存储结构
6.4.1邻接矩阵表示法
在这里插入图片描述
若图是网,则可以这样表示:
在这里插入图片描述
用邻接矩阵来表示图,除了用一个二维数组表示点之间关系之外,还需要用一个一维数组来存储顶点

#define MaxInt 32767
#define MVNum 100
typedef char VerTexType;	//假设顶点的类型是char型
typedef int ArcType;		//假设边的权值类型是int
typedef struct
{
	VerTexType vexs[MVNum];
	ArcTexType arcs[MVNum][MVNum];
	int arcnum,vexnum;
}AMGraph;

采用邻接矩阵法创建无向网:时间复杂度0(n^2)

Status CreatUND(AMGraph &G)
{
	cin>>G.arcnum>>G.vexnum;
	for(int i=0;i<vexnum;i++)  //依次输入顶点信息
		cin>>G.vexs[i];
	for(int i=0;i<vexnum;i++)
	{
		for(int j=0;j<vexnum;j++)
		{
			G.arcs[i][j]=MaxInt;
		}
	}
	for(int k=0;k<G.arcnum;k++)
	{
		cin>>v1>>v2>>w;  //输入一条边依附的顶点和权值
  		i=LocateVex(G,v1);
  		j=LocateVex(G,v2);
  		G.arcs[i][j]=w;
  		G.arcs[i][j]=G.arcs[j][i];	//无向网
	}
	return OK;
}

在这里插入图片描述
6.4.2邻接表表示法
邻接表是图的一种链式存储结构。
邻接表由两部分组成:表头节点表和边表
(1)表头节点表:由所有的表头节点以顺序存储的形式存储,以便可以随机访问任一顶点的边表。表头节点包括数据域和链域,其中数据域用于存储顶点 v i v_i

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 考研数据结构复习知识点包括单链表和双链表的定义和初始化。单链表的定义是通过结构体定义一个结点类型,包括数据域和指向下一个结点的指针。初始化单链表时,需要创建头结点,并将头结点的指针指向null,然后逐个输入结点的值并插入到链表中。双链表的定义和初始化类似,不同之处在于每个结点还有一个指向前一个结点的指针。初始化双链表时,同样需要创建头结点,并将头结点的前指针和后指针都指向null。以上是考研数据结构复习的一些知识点。\[2\]\[3\] #### 引用[.reference_title] - *1* [2024考研《数据结构复习笔记总览(文末有彩蛋)](https://blog.csdn.net/m0_63947499/article/details/130836038)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [数据结构考研复习(详细指导)(持续更新中)](https://blog.csdn.net/m0_59860403/article/details/123952246)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值