目录
五、图
[1] 掌握图的定义及其它基本概念。
[2] 掌握图的存储结构——邻接矩阵、邻接表。
[3] 掌握图的遍历方法——深度优先搜索、广度优先搜索。
[4] 掌握最小生成树生成方法。
[5] 掌握图的最短路径算法。
[6] 了解拓扑排序概念,了解关键路径算法。
错题整理
六、查找(检索)
[1] 掌握静态查找表——顺序表、有序表、索引表的查找算法;理解算法复杂性的分析过程;熟悉算法特点。
[2] 掌握动态查找表——二叉排序树和平衡二叉树的概念、基本操作及其实现。
[3] 理解 B?树的概念和特点。
[4] 熟练掌握哈希查找思想、哈希冲突解决方法、哈希查找性能。
错题整理
七、排序
[1] 掌握直接插入排序、希尔排序、冒泡排序、简单选择排序的思想及实现方法;
[2] 掌握快速排序、堆排序、归并排序的思想和及实现方法。
[3] 掌握算法复杂度及其分析方法;熟悉算法特点及其适用场景。
错题整理
八、文件&并查集
[1] 了解与文件有关的基本概念;
[2] 理解文件结构及其组织方式——顺序、索引、散列文件(HASH)。
错题整理
《数据结构(C语言版)》学习笔记07 图_学生而已的博客-CSDN博客关于图的知识介绍,包括邻接矩阵和邻接表,以及各自的最短路径算法(Dijsktra、Floyd),遍历(BFS,DFS),拓扑排序的详细代码实现,另讨论最小生成树(Prim、Kruskal)的实现原理和关键路径算法的实现原理。https://blog.csdn.net/vv0610_/article/details/126964073
5.1 顶点数为n的有向完全图中一共有多少条弧(笔记P92T2)12345 答案:n(n-1)
5.2 设有两个无向图 G=(V, E), G'=(V', E'),如果G'是G的生成树,则下列说法不正确的是(笔记P93T6)12345 答案:B
- A.G'是G的子图 B.G'是G的连通分量
- C.G'是G的无环子图 D.G'是G的极小连通子图且V'=V
5.3 图中有关路径的定义是(王道P195T1)12345 答案:A
- A.由顶点和相邻顶点序偶构成的边所形成的序列
- B.由不同顶点所形成的序列
- C.由不同边所形成的序列
- D.以上都不对
5.4 若从无向图的任意顶点出发进行一次DFS即可访问所有结点,该图一定是(王道P195T3)12345 答案:B
- A.强连通图 B.连通图 C.有回路 D.一棵树
5.5 一个有28条边的非连通无向图至少有多少个顶点(王道P196T6)12345 答案:C
- A.7 B.8 C.9 D.10
5.6 对于一个有n个顶点的图:若是无向连通图和强连通有向图,其边个数分别至少为(王道P196T7)12345 答案:A
- A.n-1,n B.n-1,n(n-1) C.n,n D.n,n(n-1)
5.7 无向图G有23条边,度为4的顶点有5个,度为3的顶点有4个,其余都是度为2的顶点,则图G有多少个顶点(王道P196T8)12345 答案:D
- A.11 B.12 C.15 D.16
5.8 无向图G有16条边,度为4的顶点有3个,度为3的顶点有4个,其余顶点的度均小于3,则图至少有多少个顶点(王道P197T18)12345 答案:B
- A.10 B.11 C.13 D.15
5.9 具有6个顶点的无向图,有多少条边时能确保是一个连通图(王道P196T10)12345 答案:D
- A.8 B.9 C.10 D.11
5.10 具有7个顶点的无向图,最少需要多少条边才能保证图在任何情况下都是连通的(王道P196T15)12345 答案:C
- A.6 B.15 C.16 D.21
5.11 若一个具有n个顶点、e条边的无向图是一个森林,则该森林中必有多少棵树(王道P196T13)12345 答案:C
- A.n B.e C.n-e D.1
5.12 下列关于无向连通图的特性中,正确的是(王道P196T14)12345 答案:A
- Ⅰ所有顶点的度之和为偶数
- Ⅱ边数大于顶点个数减1
- Ⅲ至少有一个顶点的度为1
- A.只有Ⅰ B.只有Ⅱ C.Ⅰ和Ⅲ D.Ⅰ和Ⅲ
5.13 下列关于图的叙述中正确的是(王道P196T16)12345 答案:C
- Ⅰ回路是简单路径
- Ⅱ存储稀疏图,用邻接矩阵比邻接表更省空间
- Ⅲ若有向图中存在拓扑序列,则改图不存在回路
- A.仅Ⅰ B.仅Ⅰ、Ⅱ C.仅Ⅲ D.仅Ⅰ、Ⅲ
5.14 若图的邻接矩阵中对角线上的元素均为0,其余元素为1,则可以断定该图一定(王道P204T2)12345 答案:C
- A.是无向图 B.是有向图 C.是完全图 D.不是带权图
5.15 用邻接表法存储图所用空间大小(王道P205T9)12345 答案:A
- A.与图的顶点数和边数有关 B.只与图的边数有关
- C.只与图的顶点数有关 D.与边的平方有关
5.16 n个顶点的无向图的邻接表最多有多少个边表结点(王道P205T12)12345 答案:B
- A.n^2 B.n(n-1) C.n(n+1) D.n(n-1)/2
5.17 邻接多重表是存储谁的存储结构(王道P205T15)12345 答案:A
- A.无向图 B.有向图 C.无向图和有向图 D.都不是
5.18 十字链表是存储谁的存储结构(王道P205T16)12345 答案:B
- A.无向图 B.有向图 C.无向图和有向图 D.都不是
5.19 图有n个顶点、e条边,使用邻接表时,DFS的时间复杂度为?空间复杂度为?BFS的时间复杂度为?空间复杂度为?(王道P215T3)12345 答案:CACA
- A.O(n) B.O(e) C.O(n+e) D.O(1) E.O(n^2) F.O(e^2) G.O(1)
5.20 图有n个顶点、e条边,使用邻接矩阵时,DFS的时间复杂度为?BFS的时间复杂度为?(王道P215T4)12345 答案:EE
- A.O(n) B.O(e) C.O(n+e) D.O(1) E.O(n^2) F.O(e^2) G.O(1)
5.21 判断有向图中是否存在回路,除可以利用拓扑排序外,还可以(王道P216T10)12345 答案:C
- A.关键路径 B.Dijstkra C.DFS D.BFS
5.22 以下叙述中正确的是(王道P232T3)12345 答案:A
- A.只要无向连通图中没有权值相同的边,则其MST唯一
- B.只要无向图中有权值相同的边,则其MST一定不唯一
- C.从n个顶点的连通图中选取n-1条权值最小的边,即可构成MST
- D.设连通图G有n个顶点,则含有n个顶点,n-1条边的子图一定是G的生成树
5.23 以下叙述中正确的是(王道P232T4)12345 答案:A
- A.最短路径一定是简单路径
- B.Dijsktra不适合求有回路的带权图的最短路径
- C.Dijsktra不适合求任意两个顶点的最短路径
- D.Floyd求两个顶点的最短路径时,path[k-1]一定是path[k]的子集
5.24 下图的拓扑序列共有多少个(王道P233T11)12345 答案:C
- A.4 B.6 C.5 D.7
5.25 用DFS遍历一个DAG,并且DFS退栈返回时打印相应的顶点,则输出的顶点序列时(王道P234T17)12345 答案:A
- A.逆拓扑有序 B.拓扑有序 C.无序的 D.无法确定
5.26 对n个顶点、e条弧的有向图采用邻接表存储,则拓扑算法的时间复杂是(王道P235T26)12345 答案:B
- A.O(n) B.O(n+e) C.O(n^2) D.O(ne)
5.27 用DAG描述表达式(x+y)((x+y)/x),至少需要多少个顶点(王道P236T29)12345 答案:A
- A.5 B.6 C.8 D.9
5.28 修改递归方式实现的DFS,将输出顶点信息语句移到退出递归前(即执行输出语句后立刻退出递归)。采用修改后的算法遍历DAG,若输出结果包含DAG全部顶点,则输出序列是DAG的(王道P236T31)12345 答案:B
- A.拓扑有序序列 B.逆拓扑有序序列 C.BFS序列 D.DFS序列
5.29 表示图的三种存储结构为___、___、____(期末P2T8)12345 答案:邻接表、邻接矩阵、边集数组
5.30 8个结点的无向图最多有__条边(期末P25T85)12345 答案:28
5.31 8个结点的有向图最多有__条边(期末P25T87)12345 答案:56
5.32 任何一个无向图的最小生成树(期末P26T97)12345 答案:B
- A.只有一棵 B.一棵或多棵 C.一定有多棵 D.可能不存在
5.33 G是一个连通图,共有28条边,则该图至少有多少个顶点(真题2012)12345 答案:C
- A.6 B.7 C.8 D.9
5.34 如果求一个连通图中以每个顶点为根的高度最小的生成树,应采用(真题2016)12345 答案:B
- A.DFS B.BFS C.PRIM D.TOPO
5.35 若无向图G有7个顶点,至少需要多少条边,才能保证该图一定是连通图(真题2017)12345 答案:B
- A.6 B.16 C.31 D.42
5.36 若具有n个顶点的图是一个环,则它有__个生成树(模拟3)12345 答案:B
- A.n2 B.n C.n-1 D.1
5.37 与kruskal相比,prim适用于求___的最小生成树(模拟3)12345 答案:边稠密图
5.38 若对n个顶点,e条弧的有向图采用邻接表存储,则拓扑排序的时间复杂度为(模拟5)12345 答案:O(n+e)
《数据结构(C语言版)》学习笔记08 查找_学生而已的博客-CSDN博客本文设计多种查找算法的思路分析,如顺序查找、二分查找、分块查找、二叉排序树BST、平衡二叉排序树AVL、多路平衡查找树B树、B+树、散列查找。https://blog.csdn.net/vv0610_/article/details/127111987
6.1 既希望较快地查找又便于线性表动态变化的查找方法是(笔记P103T2)12345 答案:C
- A.顺序查找 B.折半查找 C.索引顺序查找 D.哈希法查找
6.2 127阶B树中每个结点最多有___个关键字,除根节点外所有非终端结点至少有___棵子树;65阶B+树中除根结点外所有结点至少有___个关键字,最多有___棵子树(笔记P104T6)12345 答案:126;64;33;65
6.3 含有20个结点的AVL最大深度为(王道P283T11)12345 答案:C
- A.4 B.5 C.6 D.7
6.4 若将关键字1,2,3,4,5,6,7依次插入初始为空的AVL,则该树中平衡因子为0的分支结点的个数是(王道P284T23)12345 答案:D
- A.0 B.1 C.2 D.3
6.5 现有一棵无重复关键字的AVL,对其中序遍历得到一个降序序列。下列关于该AVL的说法中正确的是(王道P284T24)12345 答案:D
- A.根结点的度一定是2 B.树中最小元素一定是叶结点
- C.最后插入的元素一定是叶结点 D.树中最大元素一定是无左子树
6.6 在任意一棵非空AVL T1中,删除某结点v后形成AVL T2,再将v插入T2形成 AVL T3。下列说法中正确的是(王道P285T26)12345 答案:A
- Ⅰ若v是T1的叶结点,则T1与T3可能不相同
- Ⅱ若v不是T1的叶结点,则T1与T3一定不相同
- Ⅲ若v不是T1的叶结点,则T1与T3一定相同
- A.仅Ⅰ B.仅Ⅱ C.仅Ⅰ、Ⅱ D.仅Ⅰ、Ⅲ
6.7 下列关于m阶B树的说法中错误的是(王道P300T2)12345 答案:C
- A.根结点至多有m棵子树
- B.所有叶结点都在同一层
- C.非叶结点至少有m/2(m为偶数)或(m+1)/2(m为奇数)棵子树
- D.根结点中的数据是有序的
6.8 具有n个关键字的m阶B树,应有多少个叶结点(王道P300T5)12345 答案:A
- A.n+1 B.n-1 C.mn D.mn/2
6.9 含有n个非叶结点的m阶B树中至少包含多少个关键字(王道P300T7)12345 答案:(n-1)(⌈m/2⌉-1)+1
6.10 已知一棵3阶B树中有2047个关键字,则此B树最大高度为多少,最小高度为多少(王道P300T9)12345 答案:AD
- A.11 B.10 C.8 D.7
6.11 下列应用中适合使用B+树的是(王道P301T16)12345 答案:B
- A.编译器中的词法分析 B.关系数据库系统中的索引
- C.网络中的路由表快速查找 D.操作系统的磁盘空闲块管理
6.12 在开放定址法中散列到同一个地址而引发的“堆积”问题是由于什么引起的(王道P311T4)12345 答案:C
- A.同义词之间发生冲突 B.非同义词之间发生冲突
- C.同义词之间或非同义eel词之间发生冲突 D.散列表“溢出”
6.13 下列关于散列冲突处理方法的说法中,正确的是(王道P311T5)12345 答案:A
- Ⅰ采用再散列法处理冲突时不易产生堆积
- Ⅱ采用线性探测法处理冲突时,所有同义词在散列表中一定相邻
- Ⅲ采用链地址法处理冲突时,若限定在链首插入,则插入任一个元素的时间是相同的
- Ⅳ采用链地址法处理冲突易引起堆积现象
- A.Ⅰ和Ⅲ B.Ⅰ、Ⅱ和Ⅲ C.Ⅲ和Ⅳ D.Ⅰ和Ⅳ
6.14 对包含n个元素的散列表进行查找,平均查找长度(王道P311T8)12345 答案:C
- A.为O(log2n) B.为O(1) C.不直接依赖于n D,直接依赖于表长m
6.15 向一个有127个元素的顺序表中插入一个新元素并保持原来的顺序不变,平均要移动多少个元素(期末P26T99)12345 答案:B
- A.8 B.63.5 C.63 D.7
6.16 在具有20个元素的顺序表上进行折半查找,需比较五次并查找成功的元素个数是(真题2013)12345 答案:5
6.17 设Hash函数为H(key) = key mod 7,哈希表的地址空间为0~10,开始时哈希表为空,用平方探测法解决冲突。回答下列问题:12345
(1)画出依次插入键值 9,14,10,30,56 后的哈希表。答案:[0]14 [1]30 [2]9 [3]10 [10]56
(2) 对14,30,56进行查找时,所需进行的比较次数各为多少。答案:1 3 3
6.18 已给输入关键字序列{23,12,17,60,30,36,40,42},哈希函数H(key)=key mod 9,地址空间为0~8,开始时表空,用线性探测法解决冲突,画出依次插入键值后的哈希表,出现冲突时单独标示清楚(真题2014)12345 答案:
0 1 2 3 4 5 6 7 8 哈希表 36 42 12 30 23 60 40 17 探测次数 1 5 1 2 1 1 4 1 是否冲突 否 是 否 是 否 否 是 否 6.19 一棵3阶B树中有2047个关键字,包括叶结点层,该树的最大深度为(真题2021)
12345 答案:B
- A.11 B.12 C.13 D.14
6.20 散列函数有一个共同的性质,即函数值应当以()取其值域的每个值(选择 最大概率 、“最小概率 、平均概率、同等概率)(真题2021)12345 答案:同等概率
6.21 设A,B,C,D,E 五个字符的编码分别为 1,2,3,4,5,并设标识符按以下次序出现:AA, BB, BD, BE, AB, AD, CD, BC, AE, DD。存入10个位置的hash表中 12345(真题2022)
(1)构造一个哈希函数,冲突尽可能少 答案:H(key)=key mod 7
(2)使用线性探测再散列法姐决冲突,写出位置和比较次数
哈希地址 0 1 2 3 4 5 6 7 8 9 关键字 比较次数
哈希地址 0 1 2 3 4 5 6 7 8 9 关键字 AD BB BC BD AA BE AB CD AE DD 比较次数 1 1 1 1 1 2 2 2 7 8 6.20 线性探测法,表长11,mod 7。插 87, 40, 30, 6, 11, 22, 98, 20。失败的平均查找长度(模拟1)12345 答案:C
- A.4 B.5.25 C.6 D.6.29
6.21 设有关键字序列{28,6,13,12,35,64,43},装填因子是0.8,哈希函数为 H(key)=key mod p,处理冲突采用链地址法。画出依次插入关键字后的哈希表(模拟2)12345 答案:表长为9,p=7,其他略
《数据结构(C语言版)》学习笔记09 排序_学生而已的博客-CSDN博客介绍常见的排序算法,包括直接插入排序、希尔(Shell)排序、冒泡排序、简单选择排序、快速排序、堆排序、归并排序。并提供相应的代码和执行效率分析,包含空间复杂度、时间复杂度、稳定性、适用性等。https://blog.csdn.net/vv0610_/article/details/127298072
7.1 在任何情况下,时间复杂度为nlog2n的不稳定排序法是(笔记P115T4)12345 答案:C
- A.直接插入 B.快速排序 C.堆排序 D.归并排序
7.2 有些排序算法在每趟排序过程中,都会有一个元素被放置在其最终位置上,下列算法不会出现此情况的是(笔记P115T5)12345 答案:A
- A.shell排序 B.堆排序 C.冒泡排序 D.归并排序
7.3 为提高查找效率,对有65025个元素的有序序列建立索引顺序结构,在最好情况下找到表中已有元素最多需要执行多少次关键字比较(王道P262T17)12345 答案:C
- A.10 B.14 C.16 D.21
7.4 下列关于排序的叙述中正确的是(王道P321T3)12345 答案:B
- A.稳定的排序方法优于不稳定的排序方法
- B.对同一线性表使用不同的排序方法进行排序,得到的排序结果不同
- C.排序方法都是在顺序表上实现的,在链表上无法实现排序方法
- D.在顺序表上实现的排序方法在链表上也可以实现
7.5 希尔排序属于(王道P326T7)12345 答案:A
- A.插入排序 B.交换排序 C.选择排序 D.归并排序
7.6 在以下排序算法中,每次从未排序的记录中选取最小关键字的记录,加入已排序记录的末尾,该排序方法是(王道P344T1)12345 答案:A
- A.简单选择排序 B.冒泡排序 C.堆排序 D.直接插入排序
7.7 简单选择排序算法的比较次数和移动次数分别为(王道P344T2)12345 答案:C
- A.O(n), O(log2n) B.O(log2n), O(n^2) C.O(n^2), O(n) D.O(nlog2n), O(n)
7.8 设线性表中每个元素有两个数据项k1和k2,先对线性表按以下规则进行排序:先看数据项k1,小的在前大的在后;k1相同的情况下看k2,小的在前大的在后。满足这种要求的排序方法是(王道P344T3)12345 答案:D
- A.先对k1插入排序,再对k2选择排序
- B.先对k2插入排序,再对k1选择排序
- C.先对k1选择排序,再对k2插入排序
- D.先对k2选择排序,再对k1插入排序
7.9 构建n个记录的初始堆,其时间复杂度为?对n个记录进行堆排序,最坏情况的时间复杂度为?(王道P345T9)12345 答案:AD
- A.O(n) B.O(n^2) C.O(log2n) D.O(nlog2n)
7.10 对关键码序列 {23, 17 ,72, 60, 25, 8, 68, 71, 52}进行堆排序,输出两个最小关键码后的剩余堆是(王道P345T10)12345 答案:{23, 25, 68, 52, 60, 72, 71}
7.11 已知序列 25, 13, 10, 12, 9 是大根堆,在序列尾部插入18,将其再调整为大根堆,调整过程中元素之间的比较次数是(王道P345T12)12345 答案:B
- A.1 B.2 C.4 D.5
7.12 已知小根堆 8, 15, 10, 21, 34, 16, 12。删除8后重新建堆,在此过程中,关键字之间的比较次数是(王道P345T14)12345 答案:C
- A.1 B.2 C.3 D.4
7.13 下列排序算法中,平均情况下空间复杂度为O(n)的是?最坏情况下空间复杂度为O(n)的是?(王道P353T3)12345 答案:DC
- Ⅰ希尔 Ⅱ堆 Ⅲ冒泡 Ⅳ归并 Ⅴ快排 Ⅵ基数排序
- A.Ⅰ、Ⅳ、Ⅵ B.Ⅱ、Ⅴ C.Ⅳ、Ⅴ D.Ⅳ
7.14 若对27个元素只进行三趟多路归并排序,则选取的归并路数最少为(王道P354T5)12345 答案:B
- A.2 B.3 C.4 D.5
7.15 对10TB的数据文件进行排序,应使用的方法是(王道P354T12)12345 答案:D
- A.希尔 B.堆 C.快排 D.归并
7.16 排序趟数与序列原始状态无关的排序方法是(王道P359T7)12345 答案:B
- Ⅰ直接插入 Ⅱ简单选择 Ⅲ冒泡 Ⅳ基数
- A.Ⅰ、Ⅲ B.Ⅰ、Ⅱ、Ⅳ C.Ⅰ、Ⅱ、Ⅲ D.Ⅰ、Ⅳ
7.17 若序列原始状态为 { 1, 2, 3, 4, 5, 10, 6, 7, 8, 9 },想要使排序过程中比较次数最少,则应选用(王道P359T7)12345 答案:A
- A.插入排序 B.选择排序 C.希尔排序 D.冒泡排序
7.18 一般情况下以下查找效率最低的数据结构是(王道P359T8)12345 答案:C
- A.有序顺序表 B.二叉排序树 C.堆 D.平衡二叉树
7.19 假设一组记录的排序码为(46, 79, 56, 38, 40, 84, 50, 42),则利用堆排序建立的初始堆为__________(期末P3T3)12345 答案:(84, 79, 56, 42, 40, 46, 50, 38)
7.20 已知初始序列(50,80,63,45,48,92),写出直接插入排序各趟排序的结果(真题2012)12345 答案:
① 50
② 50 80
③ 50 63 80
④ 45 50 63 80
⑤ 45 48 50 63 80
⑥ 45 48 50 63 80 92
7.21 以比较为基础的排序算法在最坏情况下的计算时间复杂度下界为(真题2013)12345 答案:D
- A.O(n^2) B.O(log2n) C.O(n) D.O(nlog2n)
7.22 在对n个关键字进行选择排序的过程中,每一趟排序都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素个数为(真题2014)12345 答案:D
- A.i B.i+1 C.n-i D.n-i+1
7.23 对于长度为9的有序顺序表,若采用折半查找,在相等查找概率的情况下查找不成功的平均查找长度为___(真题2020)12345 答案:34/10
7.24 快排 43, 47, 70, 80, 21, 14, 10, 38(模拟1)12345 答案:
第一趟:38,10,14,21,43,80,70,47
第二趟:21,10,14,38,43,47,70,80
第三趟:14,10,21,38,43,47,70,70
第四趟:10,14,21,38,43,47,70,80
《数据结构(C语言版)》笔记10 文件&并查集_学生而已的博客-CSDN博客只涉及文件在802考纲中的内容,来自于机构笔记。https://blog.csdn.net/vv0610_/article/details/127405761?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22127405761%22%2C%22source%22%3A%22vv0610_%22%7D
8.1 假设初始长度为10(0~9)的并查集,按1-2、3-4、5-6、7-8、8-9、1-8、0-5、1-9的顺序进行查找和合并操作,最终并查集有几个集合(王道P185T9)12345 答案:C
- A.1 B.2 C.3 D.4
8.2 下列关于并查集的叙述中错误的是(王道P185T10)12345 答案:D
- A.并查集是用双亲表示法存储的树
- B.并查集可用于实现克鲁斯卡尔算法
- C.并查集可用于判断无向图的连通性
- D.在长度为n的并查集中进行查找操作的时间复杂度为O(log2n)
8.3 顺序文件中,要存取第i个记录,必须先存取___个元素(真题2020)12345 答案:i-1
上篇:
802数据结构(重庆邮电大学)考纲自查(上篇)_学生而已的博客-CSDN博客关于802考纲和错题的整理(上篇,包括绪论、线性结构、数组和广义表、树)https://blog.csdn.net/vv0610_/article/details/127297663