图查找排序数组.docx
《图查找排序数组.docx》由会员分享,可在线阅读,更多相关《图查找排序数组.docx(23页珍藏版)》请在冰豆网上搜索。
图查找排序数组
第七章图
一、填空题
1.若在有向图G中存在一条弧,则称顶点Vi于顶点Vj。
2.顶点个数为10的完全无向图中共有________条无向边。
3.顶点个数为5的完全有向图中共有________条弧。
4.若某无向图的邻接矩阵中共有10个值为1的元素,则说明此无向图中共有________条无向边。
5.若某有向图的邻接矩阵中共有10个值为1的元素,则说明此有向图中共有________条弧。
6.任意一个无向图的邻接矩阵_________(一定/不一定)是对称矩阵。
7.在无向图G中,若对于任意一对顶点都存在路径,则称无向图G为____________。
8.在无向图G中,若对于任意一对顶点都是连通的,则称无向图G为____________。
9.在顶点个数为n的无向图G中,若对于任意一对顶点都存在邻接关系,则无向图G共有__________条边。
10.在有向图G中,若对于任意一对顶点都存在两条方向相反的路径,则称有向图G为____________。
11.具有n个顶点的无向图,最多有条边。
12.在一个图中,所有顶点的度数之和等于所有边数的倍。
13.对于具有n个顶点和e条边的无向图,在其对应的邻接链表中一共包含_______个表结点。
14.对于具有n个顶点和e条边的有向图,在其对应的邻接链表中一共包含_______个表结点。
15.具有n个顶点的有向图,最多有条边。
16.边或弧上带有权值的图称为。
17.对于一个有n个顶点的完全无向图,其邻接矩阵中值为1的元素共有___个。
18.对于一个有n个顶点的完全有向图,其邻接矩阵中值为1的元素共有___个。
19.对于一个有n个顶点的完全无向图,其邻接矩阵中值为0的元素共有___个。
20.对于一个有向图,所谓出度是指。
二、简答题
1.对于下图所示的无向图,
(1)画出其邻接矩阵和邻接链表示意图;
(2)写出该图基于顺序(邻接矩阵)存储结构,从顶点V1出发的深度优先搜索和广度优先搜索遍历序列。
(4+4=8分)
2.一个有向图的顺序存储结构为:
(1)存放顶点信息的数组ver
(2)邻接矩阵G
V1
V2
V3
V4
画出其对应的链式存储结构,并写出基于此链式存储结构从V1出发进行深度优先和广度优先搜索的遍历序列。
(4+2+2=8分)
3.要将下面的图用邻接矩阵(顺序存储结构)的方式进行存储,
(1)请画出存储结构示意图;
(2)根据此存储结构图写出对此图进行深度优先搜索和广度优先搜索序列(遍历从顶点1出发)。
(4+2+2=8分)
4.已知一个无向图的邻接链表如下所示,请画出该无向图并写出基于此链式存储结构从V1出发进行深度优先和广度优先遍历的序列(4+2+2=8分)。
5.设无向图G如下图所示,要求
(1)给出该图的邻接矩阵和邻接链表;
(2)基于邻接矩阵写出从V1出发进行深度优先搜索的遍历序列;(3)基于邻接链表写出从V6出发进行广度优先搜索遍历的序列(4+2+2=8分)。
6.要将下列的图用邻接链表的方式进行存储
(1)请画出存储结构图,
(2)并根据此存储结构图写出对此图进行深度优先搜索和广度优先搜索的遍历结果。
(设此题中各顶点A、B、C、D、E的存储序号分别为:
1、2、3、4、5,遍历从A点开始)。
(4+4=8分)
7.对于下图所示的无向图,
(1)画出其邻接矩阵和邻接链表示意图;
(2)写出该图基于链式(邻接链表)存储结构,从顶点V5出发的深度优先搜索和广度优先搜索遍历序列。
(4+4=8分)
8.要将下列的图用邻接矩阵的方式进行存储
(1)请写出对应的邻接矩阵,
(2)并根据此存储结构图写出对此图进行深度优先搜索和广度优先搜索的遍历结果。
(设此题中各顶点A、B、C、D、E的存储序号分别为:
1、2、3、4、5,遍历从B点开始)。
(4+4=8分)
9.已知图G的顶点集合V和边集E合分别为:
V(G)={V1,V2,V3,V4,V5}
E(G)={(V1,V2),(V1,V3),(V1,V4),(V2,V4),(V3,V4),(V4,V5)}
(1)给出图G对应的邻接矩阵和邻接链表;(4分)
(2)当图G采用邻接矩阵方式存储时,写出从顶点V1出发进行深度优先搜索和广度优先搜索时的遍历序列。
(4分)
10.已知有向图G的顶点集合V和边集E合分别为:
V(G)={V1,V2,V3,V4,V5}
E(G)={,,,,,,}
(1)给出图G对应的邻接矩阵和邻接链表;(4分)
(2)当图G采用邻接矩阵方式存储时,写出从顶点V1出发进行深度优先搜索和广度优先搜索时的遍历序列。
(4分)
11.已知有向图G的顶点集合V和边集E合分别为:
V(G)={V1,V2,V3,V4,V5}
E(G)={,,,,,,,}
(1)判断图G是否为强连通图?
(2分)
(2)画出图G对应的邻接链表;(2分)
(3)当图G采用此邻接链表方式存储时,写出从顶点V1出发进行深度优先搜索和广度优先搜索时的遍历序列。
(4分)
12.设无向图G如下图所示,要求
(1)给出该图的集合表示形式(顶点集合和边集合)邻接矩阵和邻接链表;
(2)给出该图的邻接链表存储示意图;
(3)基于此邻接链表写出从V1出发进行深度优先搜索和广度优先搜索遍历的序列(2+2+4=8分)。
13.已知一个无向图的顺序存储结构为:
(1)存放顶点信息的数组ver
(2)邻接矩阵G
V1
V2
V3
V4
V5
画出其对应的链式存储结构,并写出基于此链式存储结构从V1出发进行深度优先和广度优先搜索的遍历序列。
(4+2+2=8分)
14.已知有向图G的顶点集合V为:
V(G)={V1,V2,V3,V4,V5}
其对应的邻接矩阵为:
(1)画出图G的图形并判断图G是否为强连通图?
(4分)
(2)画出图G对应的邻接链表;(2分)
(3)当图G采用此邻接链表方式存储时,写出从顶点V3出发进行深度优先搜索的遍历序列。
(2分)
15.已知一个无向图的邻接链表如下所示,请写出该无向图的邻接矩阵并写出基于此邻接矩阵从V6出发进行深度优先和广度优先遍历的序列(4+2+2=8分)。
16.已知有向图G的顶点集合V和边集E合分别为:
V(G)={V1,V2,V3,V4,V5}
E(G)={,,,,,,,}
(1)画出图G的图形并求出各顶点的入度和出度。
(4分)
(2)画出图G对应的邻接矩阵;(2分)
(3)当图G采用此邻接矩阵方式存储时,写出从顶点V1出发进行广度优先搜索时的遍历序列。
(2分)
17.已知一个无向图的顺序存储结构为:
(1)存放顶点信息的数组ver
(2)邻接矩阵G
V1
V2
V3
V4
V5
(1)画出该图的图形;(2分)
(2)给出其对应的链式存储结构,并写出基于此链式存储结构从V5出发进行深度优先和广度优先搜索的遍历序列。
(6分)
18.要将下面的图用邻接链表(链式存储结构)的方式进行存储,
(1)请画出存储结构示意图;
(2)根据此存储结构图写出对此图进行深度优先搜索和广度优先搜索序列(遍历从顶点1出发)。
(4+2+2=8分)
19.已知一个无向图的顺序存储结构为:
(1)存放顶点信息的数组ver
(2)邻接矩阵G
V1
V2
V3
V4
V5
(1)给出该图的集合表示形式;(2分)
(2)画出该图并求出各顶点的度;(4分)
(3)写出基于此顺序存储结构从V1出发进行深度优先和广度优先搜索的遍历序列。
(2分)
20.已知一个无向图的链式存储结构为:
(1)给出该图的集合表示形式;(2分)
(2)画出该图并求出各顶点的度;(4分)
(3)写出基于此链式存储结构从V1出发进行深度优先和广度优先搜索的遍历序列。
(2分)
第八章查找
一、填空题
1.对于一棵有n个结点、深度为h的二叉排序树,当查找一个指定关键字的元素且查找失败时,最多需进行次比较。
2.在哈希查找中,元素关键字值与其在哈希表中存放位置的对应关系称为_________。
3.在哈希查找中,不同关键字值对应到同一哈希地址上的现象称为_________。
4.在有序表(41,62,75,77,82,95,100)上进行二分查找,查找关键字为82的数据元素需要比较的次数是次。
5.若有序表的关键字为1到25的整数,在此序列中利用二分查找法查找数字2,在查找过程中与数字2比较的数字依次为:
、2。
6.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找关键字值10所需的关键字比较次数为。
7.在顺序表(2,5,7,10,15,18,21,25)中,用二分法查找关键字值20所需的关键字比较次数为。
8.在有序表(3,9,12,32,41,62)上进行二分查找时,在等概率条件下其平均查找长度为。
9.线性有序表(a1,a2,a3,…,a10)按关键字从小到大排列,对一个给定的关键字值k,用二分法查找表中关键字与k相等的元素,在查找不成功的情况下,最多需要查找次。
10.采用二分查找方法时,要求线性表必须是的线性表。
11.在查找算法中,主关键字是指组成记录的若干数据项中能够一条记录的数据项。
12.对一个具有100元素的有序表,若采用二分查找查找某个指定关键字的元素,最多需要比较次。
13.采用二分查找方法时,要求线性表必须采用顺序存储结构,而且还应该是
的线性表。
14.采用二分查找方法时,要求线性表必须是采用存储结构且按查找关键字有序排列的线性表。
15.分块查找中对线性表分块后应保证有序。
16.在结点数确定的二叉排序树上进行查找的平均查找长度与二叉树的形态有关,最差的情况是二叉排序树为树的时候。
17.在结点数确定的二叉排序树上进行查找的平均查找长度与二叉树的形态有关,最好的情况是二叉排序树为树的时候。
18.在哈希查找中,哈希表是指。
19.在哈希查找中,哈希函数构造方法中的直接定址法是指取或
作为哈希地址。
20.在哈希查找中,哈希函数构造方法中的平方取中法是指取
作为哈希地址
二、简答题
1.关键字集合为{47,7,29,11,16,92,22,8,3,13},地址区间为0~10,构造合理的哈希函数,用线性探测再散列法处理冲突,画出哈希表并求出平均查找长度ASL。
(2+4+2=8分)
哈希函数:
哈希表:
地址
0
1
2
3
4
5
6
7
8
9
10
关键字
平均查找长度ASL=
2.假设哈希表的地址空间为0-6,哈希函数为H(k)=k%7,采用线性探测法处理冲突,如将关键字序列(26,72,35,8,18,60)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
地址表
关键字
26
72
35
8
18
60
地址
哈希表
地址
0
1
2
3
4
5
6
关键字
3.哈希表的地址空间为0~6,哈希函数为H(k)=k%7,采用二次探测再散列法处理冲突,如将关键字序列(9,11,8,13,15,10)依次存放到哈希表中,填写下面的地址表和生成的哈希表,并计算出在此哈希表上进行查找的平均查找长度。
(2+4+2=8分)
地址表
关键字值
9
11
8
13
15
10
哈希地址
哈希表
地址
0
1
2
3
4
5
6
关键字值
平均查找长度ASL=
4.设有关键字序列(13,10,6,14,21,17),试用除留取余法构造哈希函数,用线性探查再散列将其散列到地址空间0-6之中,请问:
除留取余法中除数p如何选取,可以减少冲突?
你因此用除留取余法构造的哈希函数为?
画出对应的地址表和哈希表。
求出等概率条件下的平均查找长度(2+4+2=8分)
地址表:
关键字
13
10
6
14
21
17
地址
哈希表:
地址
0
1
2
3
4
5
6
关键字
5.设有关键字序列(7,8,9,16,15,18),采用除留取余法构造哈希函数hash(key)=key%7;用链地址法处理冲突,将其散列到地址空间0~6之中,
(1)求出其对应哈希地址;
(2)画出对应的哈希表;(3)求出其平均查找长度。
(1+5+2=8分)
6.哈希表的地址空间为0~9,哈希函数为H(k)=k%7,采用线性探测再散列法处理冲突,如将关键字序列(9,11,16,10,15,12,,24,20,18)依次存放到哈希表中,填写下面的地址表和生成的哈希表,并计算出在此哈希表上进行查找的平均查找长度。
(2+4+2=8分)
地址表
关键字值
9
11
16
10
15
12
24
20
18
哈希地址
哈希表
地址
0
1
2
3
4
5
6
7
8
9
关键字值
平均查找长度ASL=
7.已知一个哈希表如下所示,其地址空间为0-10,哈希函数为Hash(k)=k%11,冲突处理方法为线性探测再散列。
地址
0
1
2
3
4
5
6
7
8
9
10
关键字值
66
45
78
32
54
48
62
30
18
21
回答以下问题:
(1)在此哈希表上,在哪些地址上发生了冲突?
(2分)
(2)在查找元素32、54和21时各需要进行多少次比较?
(3分)
(3)计算等概率条件下查找成功时的平均查找长度。
(3分)
8.假设哈希表的地址空间为0-6,哈希函数为H(k)=k%7,采用二次探测再散列法处理冲突,如将关键字序列(26,72,35,8,18,60)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
地址表
关键字
26
72
35
8
18
60
地址
哈希表
地址
0
1
2
3
4
5
6
关键字
ASL=
9.假设哈希表的地址空间为0-6,哈希函数为H(k)=k%7,采用链地址法处理冲突,如将关键字序列(26,72,35,8,18,60)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
地址表
关键字
26
72
35
8
18
60
地址
10.已知一个哈希表如下所示,其地址空间为0-10,哈希函数为Hash(k)=k%11,冲突处理方法为二次探测再散列。
地址
0
1
2
3
4
5
6
7
8
9
10
关键字值
66
45
78
54
48
18
62
30
32
21
回答以下问题:
(1)在此哈希表上,在哪些地址上发生了冲突?
(2分)
(2)在查找元素32、54和21时各需要进行多少次比较?
(3分)
(3)计算等概率条件下查找成功时的平均查找长度。
(3分)
11.已知一个哈希表如下所示,其地址空间为0-10,哈希函数为Hash(k)=k%11,冲突处理方法为二次探测再散列。
回答以下问题:
(1)在此哈希表上,在哪些地址上发生了冲突?
(2分)
(2)在查找元素32、54和21时各需要进行多少次比较?
(3分)
(3)计算等概率条件下查找成功时的平均查找长度。
(3分)
12.关键字集合为{47,7,29,11,16,92,22,8,3,13},地址区间为0~10,构造合理的哈希函数,用二次探测再散列法处理冲突,画出哈希表并求出平均查找长度ASL。
(2+4+2=8分)
哈希函数:
哈希表:
地址
0
1
2
3
4
5
6
7
8
9
10
关键字
平均查找长度ASL=
13.关键字集合为{47,7,29,11,16,92,22,8,3,13},地址区间为0~10,构造合理的哈希函数,用链地址法处理冲突,画出哈希表并求出平均查找长度ASL。
(2+4+2=8分)
14.假设哈希表的地址空间为0-12,哈希函数为H(k)=k%13,采用线性探测法处理冲突,如将关键字序列(50,26,45,72,62,35,28,18,60,71,90,67)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
15.假设哈希表的地址空间为0-12,哈希函数为H(k)=k%13,采用二次探测法处理冲突,如将关键字序列(50,26,45,72,62,35,28,18,60,71,90,67)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
16.假设哈希表的地址空间为0-12,哈希函数为H(k)=k%13,采用链地址法处理冲突,如将关键字序列(50,26,45,72,62,35,28,18,60,71,90,67)依次存放到哈希表中,
(1)根据哈希函数计算每个关键字对应的哈希地址并画出生成的哈希表;
(2)计算出在此哈希表上进行查找的平均查找长度。
(6+2=8分)
17.哈希表的地址空间为0~9,哈希函数为H(k)=k%7,采用二次探测再散列法处理冲突,如将关键字序列(9,11,16,10,15,12,,24,20,18)依次存放到哈希表中,填写下面的地址表和生成的哈希表,并计算出在此哈希表上进行查找的平均查找长度。
(2+4+2=8分)
地址表
关键字值
9
11
16
10
15
12
24
20
18
哈希地址
哈希表
地址
0
1
2
3
4
5
6
7
8
9
关键字值
平均查找长度ASL=
18.哈希表的地址空间为0~9,哈希函数为H(k)=k%7,采用链地址法处理冲突,如将关键字序列(9,11,16,10,15,12,,24,20,18)依次存放到哈希表中
(1)填写下面的地址表;
(2)画出生成的哈希表;(3)计算出在此哈希表上进行查找的平均查找长度。
(2+4+2=8分)
地址表
关键字值
9
11
16
10
15
12
24
20
18
哈希地址
19.哈希表的地址空间为0~5,哈希函数为H(k)=k%5,分别采用线性探测再散列法和二次探测再散列法处理冲突,如将关键字序列(9,11,16,14,15)依次存放到哈希表中,分别画出两种冲突处理方法生成的哈希表,并比较在两个不同哈希表上进行查找的平均查找长度。
(6+2=8分)
20.哈希表的地址空间为0~5,哈希函数为H(k)=k%5,分别采用线性探测再散列法和链地址法处理冲突,如将关键字序列(9,11,16,14,15)依次存放到哈希表中,分别画出两种冲突处理方法生成的哈希表,并比较在两个不同哈希表上进行查找的平均查找长度。
(6+2=8分)
三、算法设计题
1.设计一算法实现:
在降序排列的整型顺序线性表上采用二分查找方法查找指定关键字值的元素。
2.设计一算法实现:
在升序排列的整型顺序表上采用顺序查找方法查找指定值的元素。
3.假设学生信息类型定义如下,设计算法实现在顺序存储的学生信息表上查找并输出所有成绩高于90分的学生信息,函数返回值为满足条件的学生人数。
typedefstruct
{longnum;
charname[20];
floatscore;
}STUDENT;
第九章排序
一、填空题
1.在直接插入、冒泡、快速排序和简单选择排序方法中,具有稳定性的排序方法有。
2.每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做排序。
3.排序算法的稳定性是指
。
4.在冒泡、快速、直接插入三种排序方法中,排序的趟数与数据表的初始排列顺序无关的是排序方法。
5.对7个元素构成的线性表进行快速排序时,在最好情况下共需进行次划分。
6.对7个元素构成的线性表进行快速排序时,在最差情况下共需进行次划分。
7.对7个元素构成的线性表进行快速排序时,在最好情况下共需进行次比较。
8.当数据表初态基本有序的情况下,在冒泡、快速和简单选择排序方法中应选择排序方法,从而使得排序的趟数最少。
9.对于n个元素构成的线性表,采用简单选择排序共需进行趟排序。
10.对于n个元素构成的降序顺序线性表,采用快速排序按照关键字升序排列时共需进行次划分。
11.对于n个元素构成的降序顺序线性表,采用冒泡排序按照关键字升序排列时共需进行趟排序。
12.在直接插入、冒泡、快速排序方法中,不具有稳定性的排序方法是。
13.在直接插入、快速排序和简单选择排序方法中,不具有稳定性的排序方法有。
14.在直接插入、冒泡、快速排序和简单选择排序方法中,平均时间复杂度最低的排序方法是。
15.
16.
17.
18.
19.
20.
二、简答题
1.对于一组给定的关键字{53,87,12,61,35,48,20,42,16,93},写出用冒泡排序法进行升序排列的各趟结果。
(每趟排序时产生该趟的最小数升到表上端的对应位置)(8分)
2.对于一组给定的关键字{53,87,12,61,35,48,20,42,16,93},写出用冒泡排序法进行升序排列的各趟结果。
(每趟排