波波的数据结构-图(1)

本文档详细解析了图论中的基本概念,包括无向图的邻接矩阵性质、连通图的最少边数、完全图的识别、图的存储结构如邻接表及其在遍历中的应用。此外,还涵盖了图的深度优先和广度优先搜索策略,以及相关算法的时间复杂度分析。内容适合复习预习,助力理解图论和数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

波波的数据结构属实上的快,这里将会写些pta的解析,算是复习 预习,帮助我与大家期末不挂科




一、选择题

2-1
无向图的邻接矩阵是一个___A_。
A.对称矩阵
B.零矩阵
C.上三角矩阵
D.对角矩阵

2-2
一个有n个顶点的无向图最多有_C___条边。
A.n
B.n(n-1)
C.n(n-1)/2
D.2n
解析:可以看成一个矩阵取上三角并减去对角线元素的个数。
2-3
具有6个顶点的无向图至少应有__A__条边才可能是一个连通图。
A.5
B.6
C.7
D.8
解析:n-1条边
2-4
若图的邻接矩阵中主对角线上的元素全是0,其余元素全是1,则可以断定该图一定是__D__。
A.无向图
B.非带权图
C.有向图
D.完全图
在这里插入图片描述
在这里插入图片描述
解析:可以看一下邻接表和逆邻接表的定义,逆邻接表为结点与指向该结点的结点的链表
在这里插入图片描述
解析:这题标答错了,选A,对角线为0,无权值的为∞
2-8
若无向图G =(V,E)中含7个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是:C
A.6
B.15
C.16
D.21
解析:6个顶点的无向完全连通图边数为15,再加上一个顶点连接一条边到连通图上,15+1=16
2-9
如果G是一个有28条边的非连通无向图,那么该图顶点个数最少为多少?C
A.7
B.8
C.9
D.10
解析:因为是非连通图,所以7个无向完全连通图边数为21 8个无向完全连通图边数为32,再加上一个顶点形成非连通图,一共9个。
2-10
在一个图中,所有顶点的度数之和等于所有边数的(C)倍。
A.1/2
B.1
C.2
D.4
解析:一条边连接两个顶点。
2-11
用邻接表存储图所用的空间大小(A)。
A.与图的顶点数和边数都有关
B.只与图的边数有关
C.只与图的顶点数有关
D.与边数的平方有关
解析:顶点数为表头结点个数,边为邻接结点个数。
2-12
采用邻接表存储的图的广度优先遍历算法类似于二叉树的(D)。
A.先序遍历
B.中序遍历
C.后序遍历
D.按层遍历
2-13
如果用邻接表存储结构,在对图进行广度优先遍历时一般要用到的一种数据结构类型是(C)。
A.集合
B.堆栈
C.队列
D.二叉树

2-14
设某有向图的邻接表中有n个表头结点和m个边结点,则该图中有(C)条有向边。
A.n
B.n-1
C.m
D.m-1
解析:有向图中几个邻接点就有几条边…
2-15
对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,所有顶点邻接表的边结点总数为(C)。
A.e/2
B.e
C.2e
D.n+e
解析:因为是无向图,所以邻接点为边上乘以2

2-16
具有 100 个顶点和 12 条边的无向图至多有多少个连通分量?D
A.87
B.88
C.94
D.95
解析:5个顶点的完全无向图的边为10,6个顶点的完全无向图的边为15,即6个顶点连为12条边的图,剩下94个点无边,共95个连通分量。
2-17
关于图的邻接矩阵,下列哪个结论是正确的?B
A.有向图的邻接矩阵总是不对称的
B.有向图的邻接矩阵可以是对称的,也可以是不对称的
C.无向图的邻接矩阵总是不对称的
D.无向图的邻接矩阵可以是不对称的,也可以是对称的
解析:A:可能对称, C D一定对称,
2-18
图的深度优先遍历类似于二叉树的:A
A.先序遍历
B.中序遍历
C.后序遍历
D.层次遍历
2-19
在用邻接表表示有N个结点E条边的图时,深度优先遍历算法的时间复杂度为:B
A.O(N)
B.O(N+E)
C.O(N^​2)
D.O(N^​2​​ ×E)
在这里插入图片描述
解析:深度优先遍历的做法:(1)从图中某个初始顶点v出发,首先访问初始顶点v。(2)选择一个与顶点v相邻且没被访问过的顶点w,再从w出发进行深度优先搜索,直到图中与当前顶点v邻接的所有顶点都被访问过为止。
在这里插入图片描述
解析:把图画出来就行了…在这里插入图片描述
在这里插入图片描述
解析:C应该的序列为{14302}
在这里插入图片描述
解析:(1)访问初始点v,接着访问v的所有未被访问过的邻接点v1,v2,…,vt。
  (2)按照v1,v2,…,vt的次序,访问每一个顶点的所有未被访问过的邻接点。   
  (3)依次类推,直到图中所有和初始点v有路径相通的顶点都被访问过为止。
  a,f与c的距离为1,因此c后面为a与f,然后按照af的顺序来访问下一结点。
2-24
已知无向图G含有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,其他顶点的度均小于3。图G所含的顶点个数至少是:B
A.10
B.11
C.13
D.15
解析:16条边结点总数为32,32-4 * 3-3 * 4 =8 8/2=4 3+4+4=11
2-25
如果从无向图的任一顶点出发进行一次深度优先搜索可访问所有顶点,则该图一定是:A
A.连通图
B.完全图
C.有回路的图
D.一棵树

南理工初试试题,很完整的试题哦南京理工大学课程考试试卷 (学生考试用) 课程名称: 数据结构 学分: 3 大纲编号 062204 试卷编号: 考试方式: 闭卷 满分分值: 100 考试时间: 120 分钟 组卷日期: 2006年5月18日 组卷教师(签字) 张宏 审定人(签字) 王树梅 学生班级: 计算机学院 04级 学生学号: 学生姓名: 一、 选择题(1.5*20=30分) 1.若以{4,5,6,3,8}作为叶子结点的权值构造哈夫曼树,则带权路径长度是 A) 55 B)68 C)59 D)28 2. 无向图G=(V,E),其中:V={ a,b,c,d,e,f} , E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)},对该进行广度优先遍历,得到的顶点序列正确的是 A) a,b,e,c,d,f B) a,c,f,e,b,d C) a,e,b,c,f,d D) a,e,d,f,c,b 3. 对关键字码集合K={53,30,37,12,45,24,96},从空二叉树出发建立与集合K对应的二叉排序树,若希望得到树的高度最小,应选择下列哪个输入序列 。 A)45,24,53,12,37,96,30 B)12,24,30,37,45,53,96 C)37,24,12,30,53,45,96 D)30,24,12,37,45,96,53 4. 已知一组数{20,8,6,2,30,1}的排序过程为: (1)20,8,6,2,30,1 (2)1,8,6,2,30,20 (3)1,2,6,8,30,20 (4)1,2,6,8,20,30 问它是下面那一种排序: A)快速排序 B) 直接插入排序 C) 起泡排序 D) 选择排序 5.计算机算法必须具备输入、输出和 等五个特征。 A) 可行性、可移植性和可扩充性 B)可行性、确定性和有穷性 C) 确定性、有穷性和稳定性 D)易读性、稳定性和安全性 6.设哈希表长为14,哈希函数是H(key)=key,表中已有数据的关键字为15,38,61,84共四个,现要将关键字为26的结点加到表中,用二次探测再散列法解决冲突,则放入的位置是 A) 8 B) 3 C)2 D)9 7.在一个单链表中,若要删除p所指结点的后继结点,则执行 。 A) p=p->next; p->next=p->next->next B) free(p->next) (C语言格式) 或 delete p->next (C++语言格式) C) p=p->next->next; D) p->next=p->next->next 8. 数组A的每个元素需要4个字节存放,数组有8行 10列,若数组以行为主顺序存放在内存SA开始的存储区中,则A中8行5列的元素的位置是 A) SA+74 B)SA+292 C)SA+296 D)SA+300 9-10.在一棵7阶B树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有 (1) 个关键字;若在某结点中删去一个关键字而导致结点合并,则该结点中原有的关键字的个数是 (2)(1) A)6 B)5 C)4 D)3 (2) A)4 B)3 C)2 D)1 11.已知四个元素a,b,c,d依次进栈,进栈过程中可出栈,下面那一种出栈顺序是不正确的 A)a,d,c,b B)b,c,d,a C)c,a,d,b D)c,d,b,a 12.队列操作的原则是 。 A) 先进先出 B) 后进先出 C) 只能进行插入 D)只能进行删除 13.在有n 个结点的二叉链表中,值为空链域的个数为 A)n-1 B)2n-1 C)n+1 D)2n+1 14.具有1080个结点的完全二叉树的深度为 A) 12 B)10 C)11 D)13 15.若已知一个栈的入栈序列是元素1,2,3,....,n,其输出序列为p1,p2,p3,…pn,若p1是n,则pi是( ) A) i B)n-i C)n-i+1 D)不确定 16.对于一个具有n个顶点无向图,若采用邻接矩阵表示,则该矩阵的大小是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值