四简答
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四、应用题:
1.假定用一维数组a[6]顺序存储一个循环队列,用front和rear分别表示队首指针(指向队列头元素)和队尾指针(指向队尾元素的下一位置),当前队列中已有5个元素:23,45,67,80,34,其中23为队首元素,front的值为3,请画出对应的存储和首尾指针状态,当连续做3次出队操作后,再让元素15,36依次进队,请再次画出对应的存储和首尾指针状态。
3.按表头表尾法,画出广义表
LS =((x,y,(a,b)),(z,(x,y,(a,b))))的链式存储结构,并写出该表的表头和表尾。
或
head(LS)=(x,y,(a,b))
tail(LS)=((z,(x,y,(a,b))))
4.下图所示广义表的存储结构同上题,写出对应的广义表。
LS = (((a, b, ( )), ( )), (a, (b)), ( )
答:
T B A C S
00 0110110111
12、假定用于通信的电文仅由a,b,c,d 4个数据元素,各字母在电文中出现的频率分别为7,5,2,4,试为这4个字母设计不等长的哈夫曼编码。(要求画出哈夫曼树,给出编码,并求出带权路径长度)(6分哈夫曼树2分,编码2分,路径长度2分)
a:0 b:10 c:110 d:111 或 a:1 b:01 c:001 d:000
哈夫曼编码:
a:0010 b:10 c:00000 d:0001 e:01 f:00001 g:11
树:略。
7.写出下图所示森林的先序、中序序列。将该森林转换为相应的二叉树。
先序序列:1、2、3、4、5、6、8、7、9、10、11、12、13、15、14
中序序列:3、4、8、6、7、5、2、1、10、9、11、15、13、14、12
8.设二叉树后根遍历为BAC,画出所有可能的二叉树。(5分。一个一分)
9.假设一棵二叉树的层序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,请画出该树,并写出后序序列。
后序序列:D.G、J、H、E、B.I、F、C.A
10、将如下森林转化成二叉树
11、已知某系统在通讯时,只出现C,A,S,T,B五种字符,它们出现的频率依次为2,4,2,3,3,试设计Huffman编码。
三趟(1分): 37 40 41 43 52 {65} 66 {73}
四趟(1分): 37 40 41 43 52 65 66 73
5.已知一组元素的关键字{46,74,16,53,14,26,40,38,86,65,27,34},利用2-路归并排序法,写出每趟归并后的排列结果。
46,74,16,53,14,26,40,38,86,65,27,34
wpl=7*1+5*2+2*3+4*3=35
13、在一份电文中共使用8种字符,即a, b, c, d, e, f, g, h,它们出现的频率依次为0.10, 0.09, 0.32, 0.02,0.26, 0.03, 0.01, 0.17 ,试画出对应的赫夫曼树,求出每个字符的赫夫曼编码。(6分哈夫曼树3分,编码3分)
后根序列:C, B, F, E, I, J, H, G, D, A
5.已知一棵二叉树的中根和后根序列,画出其对应的二叉树并求其先根序列。
中根序列:c, b, d, e, a, g, i, h, j,f
后根序列:c, e, d, b, i, j, h, g, f, a先根序列:a,b,c,d,e,f,g,h,i,j
6已知一棵二叉树的先序、中序和后序遍历序列分别为:
先序: BE×KCJADG×HI
中序: LK×CAJ××FGIH
后序: KL×JCEF××GDB 其中有些字母已丢失,请添写完整并画出此二叉树
先序: BELKCJADGFHI
中序: LKECAJBDFGIH
后序: KLAJCEFIHGDB
6.在一份电文中共使用8种字符,即a, b, c, d, e, f, g, h,它们出现的频率依次为0.07, 0.19, 0.02,0.06, 0.32, 0.03, 0.21, 0.10,试画出对应的赫夫曼树,求出每个字符的赫夫曼编码。
6.设有一个10阶的对称矩阵A,采用以行优先的方式压缩存储。a11为第1个元素,其存储地址为1,每个元素占3个存储单元。求总存储空间大小是多少?元素a85和元素a58的地址是多少?(写出计算过程)
7.画出下面广义表的头尾链表存储结构,并写出该表的表头和表尾。(5分)
LS = (z,(x,y,(a,b))) head(LS)=z tail(LS)=((x,y,(a,b)))画图(表头表尾法)
5
4
3
2
1
0
67
45
23
34
80
5
4
3
2
1
0
2.已知稀疏矩阵如下:
请写出该稀疏矩阵三元组表示。
i
j
0 0 1
或
v
1
1
0 4 2
1
1
5
1 2 3
2
2
3
2 0 4
3
3
1
2 1 5
4
3
2
4 3 6
5
5
4
6
i j w
2.按表头表尾法,画出广义表LS=(((a), b), ((), d), (e, f))的存储结构。
第一趟:1 19 26 87 11 43 87 21 92(交换6次)
第二趟:1 19 26 11 43 87 21 87 92(交换4次)
第三趟:1 19 11 26 43 21 87 87 92(交换2次)
第四趟:1 11 19 26 21 43 87 87 92(交换2次)
第五趟: 1 11 19 21 26 43 87 87 92(交换1次)
四、应用题
1.已知一组关键字为(26,36,41,38,44,15,68,12,06,51,25),用线性探查法解决冲突构造这组关键字的哈希表。表长取15,哈希函数H(key)=key MOD 13。
地址
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
关键字
26
25
41
15
68
44
06
36
38
12
51
地址
0
1
2
3
4
5
6
7
8
9
10
11
12
关键字
26
12
41
44
15
68
06
25
51
36
38
不知道哪个对
2. 用序列(46,88,45,39,70,58,101,10,66,34)建立一个平衡的二叉排序树,画出该树,并求在等概率情况下查找成功的平均查找长度。
ASL=(3*4+4*3+2*2+1)/10=2.9 (2分)
4.一组键值序列为(41,66,73,52,40,37,65,43),试采用快速排序法对该组序列作升序排序,并给出每一趟的排序结果。
{ 41 66735240376543}
一趟(2分):{37 40} 41 { 52 73 66 65 43}
二趟(1分):37 {40} 41 {43 } 52 { 66 65 73}
10.(87, 25, 310, 8, 27, 132, 68, 95, 187, 123, 70, 63, 47),散列函数为h(k)=k%13,采用链地址法处理冲突。设计出这种链表结构,并求该表平均查找长度。(写出冲突计算过程)
11.已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79)哈希函数为:H(key)=key MOD 13,哈希表长为m=16(0……15),用线性探测再散列处理冲突构造一散列表,设每个记录的查找概率相等,求查找成功的平均查找长度。
画出图G,画出图G的邻接表。
5.下图是用邻接表存储的图,画出此图,写出每个顶点的度,并写出从C点开始按深度优先、广度优先遍历该图的结果。
深度优先遍历序列:C.D.E、A.B.F
度优先遍历序列:C.D.A.E、B.F
各顶点的度
A
B
C
D
E
F
3
2
2
4
2
2
6.画出下图的邻接表存储结构,要求:邻接表中的边结点都是按照顶点序号从大到小链接的。求出每个顶点的出始入度,并按此给出唯一一种拓扑序列。(6分)
四、应用题
1.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,…,nk个度为k的结点,问该树有多少个叶子结点?
n0=1+n2+2*n3+...+(k-1)中序、后序遍历序列。
先序:ABEFCDGJ
中序:EFBCGJDA
后序:FEJGDCBA
3.关键码的输入序列 { 55, 31, 11, 37, 46, 73, 63, 02, 07 }请计算在二分法查找、平衡的二叉排序树两种的情况下等概率下查找成功的平均查找长度。
.二分法:(3分)
ASL=(1+2*2+3*4+2*4)/9=2.78
平衡的二叉排序树:(2分)
ASL=(1+2*2+4*3+2*4)/9=2.78
13、给定如图所示二叉树T,请分别写出树的中序遍历序列,请画出与其对应的中序线索二叉树。(5分)
四、应用题
1.无向图中每个顶点的度,有向图中每个顶点的入度,出度和度。
是否是连通图/强连通图,如果不是,画出连通分量/强连通分量。(5分)
顶点
0
1
2
3
4
度
4
2
3
3
2
顶点
0
1
2
3
4
出度
2
2
3
1
0
入度
2
1
1
2
(2)求在等概率下查找成功的平均查找长度。
散列表:
9.已知长度为12的表如下:
{Jan,Feb,Mar,Apr,May,June,July, Aug,Sep,Oct,Nov,Dec}
建立相应的平衡二叉排序树(按字典顺序)。并求其等概率情况下的平均查找长度。
这个图不知道是不是字典顺须的
ASL=(1+2*2+3*4+4*4+5)/12=19/6≈3.167(2分)
2
无向图是连通图。有向图不是强连通图:强连通分量为:
2. 请给出下图的邻接矩阵,利用普里姆(prim)算法,构造下图最小生成树。(写出步骤6分)
答
3.请给出下图的邻接矩阵、邻接表、逆邻接表及结点V2的入度和出度。(10分)
4.已知图G={V , E}
V={ a, b, c, d, e }
E={(a, b),(b, d),(c, d),(d, e),(e, a),(a, c)}
6..已知一组关键字为(19,14,23,01,68,20,84,27,55,11,10,79),则按哈希函数H(key)=key MOD 13和链地址法解决冲突构造这组关键字的哈希表。
0
^
1
2
^
3
4
^
5
^
6
7
8
^
9
^
10
11
12
^
7..给出一组关键字(19,01,26,92,87,11,43,87,21),进行起泡排序,试列出每一遍排序后关键字的排列次序,并统计每遍排序关键字所进行的关键字比较次数
8.已知一组键值序列为(41,66,73,52,40,37,65,43),试采用快速排序法对该组序列作升序排序,并给出每一趟的排序结果。(5分)
已知散列函数为H(key)=key%7,散列表长度为7(散列地址空间为0..6),待散列序列为:(25,48,32,50,68,43)。要求:
(1)根据以上条件构造一散列表,并用线性探测再散列解决有关地址冲突。
一趟: 46,74,16,53,14,26,38,40,65,86,27,34(2分)
二趟: 16,46,53,74,14,26,38,40,27,34,65,86(1分)
三趟: 14,16,26,38,40,46,53,74,27,34,65,86(1分)
四趟: 14,16,26,27,34,38,40,46,53,65,74,86(1分)
3.写出下图所示二叉树的先序、中序、后序序列
先序序列:ABDEFC
中序序列:DBFEAC
后序序列:DFEBCA
4.已知一棵二叉树的先根和中根序列,画出其对应的二叉树并求其后根序列。
先根序列:A, B, C, D, E, F, G, H, I, J
中根序列:C, B, A, E, F, D, I, H, J,G
5.设二维数组a7*6的每个元素占6个字节,且LOC(a00)=100,问A共占多少个字节?
A的终端结点a65的起始地址为何?按行和按列优先存储时,a35的起始地址分别为何?(5分)
42*6=252(1分)
100+41*6=346(2分)
行:100+3*6*6+5*6=238(1分)
列:100+5*7*6+3*6=328(1分)
1.假定用一维数组a[6]顺序存储一个循环队列,用front和rear分别表示队首指针(指向队列头元素)和队尾指针(指向队尾元素的下一位置),当前队列中已有5个元素:23,45,67,80,34,其中23为队首元素,front的值为3,请画出对应的存储和首尾指针状态,当连续做3次出队操作后,再让元素15,36依次进队,请再次画出对应的存储和首尾指针状态。
3.按表头表尾法,画出广义表
LS =((x,y,(a,b)),(z,(x,y,(a,b))))的链式存储结构,并写出该表的表头和表尾。
或
head(LS)=(x,y,(a,b))
tail(LS)=((z,(x,y,(a,b))))
4.下图所示广义表的存储结构同上题,写出对应的广义表。
LS = (((a, b, ( )), ( )), (a, (b)), ( )
答:
T B A C S
00 0110110111
12、假定用于通信的电文仅由a,b,c,d 4个数据元素,各字母在电文中出现的频率分别为7,5,2,4,试为这4个字母设计不等长的哈夫曼编码。(要求画出哈夫曼树,给出编码,并求出带权路径长度)(6分哈夫曼树2分,编码2分,路径长度2分)
a:0 b:10 c:110 d:111 或 a:1 b:01 c:001 d:000
哈夫曼编码:
a:0010 b:10 c:00000 d:0001 e:01 f:00001 g:11
树:略。
7.写出下图所示森林的先序、中序序列。将该森林转换为相应的二叉树。
先序序列:1、2、3、4、5、6、8、7、9、10、11、12、13、15、14
中序序列:3、4、8、6、7、5、2、1、10、9、11、15、13、14、12
8.设二叉树后根遍历为BAC,画出所有可能的二叉树。(5分。一个一分)
9.假设一棵二叉树的层序序列是ABCDEFGHIJ和中序序列是DBGEHJACIF,请画出该树,并写出后序序列。
后序序列:D.G、J、H、E、B.I、F、C.A
10、将如下森林转化成二叉树
11、已知某系统在通讯时,只出现C,A,S,T,B五种字符,它们出现的频率依次为2,4,2,3,3,试设计Huffman编码。
三趟(1分): 37 40 41 43 52 {65} 66 {73}
四趟(1分): 37 40 41 43 52 65 66 73
5.已知一组元素的关键字{46,74,16,53,14,26,40,38,86,65,27,34},利用2-路归并排序法,写出每趟归并后的排列结果。
46,74,16,53,14,26,40,38,86,65,27,34
wpl=7*1+5*2+2*3+4*3=35
13、在一份电文中共使用8种字符,即a, b, c, d, e, f, g, h,它们出现的频率依次为0.10, 0.09, 0.32, 0.02,0.26, 0.03, 0.01, 0.17 ,试画出对应的赫夫曼树,求出每个字符的赫夫曼编码。(6分哈夫曼树3分,编码3分)
后根序列:C, B, F, E, I, J, H, G, D, A
5.已知一棵二叉树的中根和后根序列,画出其对应的二叉树并求其先根序列。
中根序列:c, b, d, e, a, g, i, h, j,f
后根序列:c, e, d, b, i, j, h, g, f, a先根序列:a,b,c,d,e,f,g,h,i,j
6已知一棵二叉树的先序、中序和后序遍历序列分别为:
先序: BE×KCJADG×HI
中序: LK×CAJ××FGIH
后序: KL×JCEF××GDB 其中有些字母已丢失,请添写完整并画出此二叉树
先序: BELKCJADGFHI
中序: LKECAJBDFGIH
后序: KLAJCEFIHGDB
6.在一份电文中共使用8种字符,即a, b, c, d, e, f, g, h,它们出现的频率依次为0.07, 0.19, 0.02,0.06, 0.32, 0.03, 0.21, 0.10,试画出对应的赫夫曼树,求出每个字符的赫夫曼编码。
6.设有一个10阶的对称矩阵A,采用以行优先的方式压缩存储。a11为第1个元素,其存储地址为1,每个元素占3个存储单元。求总存储空间大小是多少?元素a85和元素a58的地址是多少?(写出计算过程)
7.画出下面广义表的头尾链表存储结构,并写出该表的表头和表尾。(5分)
LS = (z,(x,y,(a,b))) head(LS)=z tail(LS)=((x,y,(a,b)))画图(表头表尾法)
5
4
3
2
1
0
67
45
23
34
80
5
4
3
2
1
0
2.已知稀疏矩阵如下:
请写出该稀疏矩阵三元组表示。
i
j
0 0 1
或
v
1
1
0 4 2
1
1
5
1 2 3
2
2
3
2 0 4
3
3
1
2 1 5
4
3
2
4 3 6
5
5
4
6
i j w
2.按表头表尾法,画出广义表LS=(((a), b), ((), d), (e, f))的存储结构。
第一趟:1 19 26 87 11 43 87 21 92(交换6次)
第二趟:1 19 26 11 43 87 21 87 92(交换4次)
第三趟:1 19 11 26 43 21 87 87 92(交换2次)
第四趟:1 11 19 26 21 43 87 87 92(交换2次)
第五趟: 1 11 19 21 26 43 87 87 92(交换1次)
四、应用题
1.已知一组关键字为(26,36,41,38,44,15,68,12,06,51,25),用线性探查法解决冲突构造这组关键字的哈希表。表长取15,哈希函数H(key)=key MOD 13。
地址
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
关键字
26
25
41
15
68
44
06
36
38
12
51
地址
0
1
2
3
4
5
6
7
8
9
10
11
12
关键字
26
12
41
44
15
68
06
25
51
36
38
不知道哪个对
2. 用序列(46,88,45,39,70,58,101,10,66,34)建立一个平衡的二叉排序树,画出该树,并求在等概率情况下查找成功的平均查找长度。
ASL=(3*4+4*3+2*2+1)/10=2.9 (2分)
4.一组键值序列为(41,66,73,52,40,37,65,43),试采用快速排序法对该组序列作升序排序,并给出每一趟的排序结果。
{ 41 66735240376543}
一趟(2分):{37 40} 41 { 52 73 66 65 43}
二趟(1分):37 {40} 41 {43 } 52 { 66 65 73}
10.(87, 25, 310, 8, 27, 132, 68, 95, 187, 123, 70, 63, 47),散列函数为h(k)=k%13,采用链地址法处理冲突。设计出这种链表结构,并求该表平均查找长度。(写出冲突计算过程)
11.已知一组关键字(19,14,23,1,68,20,84,27,55,11,10,79)哈希函数为:H(key)=key MOD 13,哈希表长为m=16(0……15),用线性探测再散列处理冲突构造一散列表,设每个记录的查找概率相等,求查找成功的平均查找长度。
画出图G,画出图G的邻接表。
5.下图是用邻接表存储的图,画出此图,写出每个顶点的度,并写出从C点开始按深度优先、广度优先遍历该图的结果。
深度优先遍历序列:C.D.E、A.B.F
度优先遍历序列:C.D.A.E、B.F
各顶点的度
A
B
C
D
E
F
3
2
2
4
2
2
6.画出下图的邻接表存储结构,要求:邻接表中的边结点都是按照顶点序号从大到小链接的。求出每个顶点的出始入度,并按此给出唯一一种拓扑序列。(6分)
四、应用题
1.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,…,nk个度为k的结点,问该树有多少个叶子结点?
n0=1+n2+2*n3+...+(k-1)中序、后序遍历序列。
先序:ABEFCDGJ
中序:EFBCGJDA
后序:FEJGDCBA
3.关键码的输入序列 { 55, 31, 11, 37, 46, 73, 63, 02, 07 }请计算在二分法查找、平衡的二叉排序树两种的情况下等概率下查找成功的平均查找长度。
.二分法:(3分)
ASL=(1+2*2+3*4+2*4)/9=2.78
平衡的二叉排序树:(2分)
ASL=(1+2*2+4*3+2*4)/9=2.78
13、给定如图所示二叉树T,请分别写出树的中序遍历序列,请画出与其对应的中序线索二叉树。(5分)
四、应用题
1.无向图中每个顶点的度,有向图中每个顶点的入度,出度和度。
是否是连通图/强连通图,如果不是,画出连通分量/强连通分量。(5分)
顶点
0
1
2
3
4
度
4
2
3
3
2
顶点
0
1
2
3
4
出度
2
2
3
1
0
入度
2
1
1
2
(2)求在等概率下查找成功的平均查找长度。
散列表:
9.已知长度为12的表如下:
{Jan,Feb,Mar,Apr,May,June,July, Aug,Sep,Oct,Nov,Dec}
建立相应的平衡二叉排序树(按字典顺序)。并求其等概率情况下的平均查找长度。
这个图不知道是不是字典顺须的
ASL=(1+2*2+3*4+4*4+5)/12=19/6≈3.167(2分)
2
无向图是连通图。有向图不是强连通图:强连通分量为:
2. 请给出下图的邻接矩阵,利用普里姆(prim)算法,构造下图最小生成树。(写出步骤6分)
答
3.请给出下图的邻接矩阵、邻接表、逆邻接表及结点V2的入度和出度。(10分)
4.已知图G={V , E}
V={ a, b, c, d, e }
E={(a, b),(b, d),(c, d),(d, e),(e, a),(a, c)}
6..已知一组关键字为(19,14,23,01,68,20,84,27,55,11,10,79),则按哈希函数H(key)=key MOD 13和链地址法解决冲突构造这组关键字的哈希表。
0
^
1
2
^
3
4
^
5
^
6
7
8
^
9
^
10
11
12
^
7..给出一组关键字(19,01,26,92,87,11,43,87,21),进行起泡排序,试列出每一遍排序后关键字的排列次序,并统计每遍排序关键字所进行的关键字比较次数
8.已知一组键值序列为(41,66,73,52,40,37,65,43),试采用快速排序法对该组序列作升序排序,并给出每一趟的排序结果。(5分)
已知散列函数为H(key)=key%7,散列表长度为7(散列地址空间为0..6),待散列序列为:(25,48,32,50,68,43)。要求:
(1)根据以上条件构造一散列表,并用线性探测再散列解决有关地址冲突。
一趟: 46,74,16,53,14,26,38,40,65,86,27,34(2分)
二趟: 16,46,53,74,14,26,38,40,27,34,65,86(1分)
三趟: 14,16,26,38,40,46,53,74,27,34,65,86(1分)
四趟: 14,16,26,27,34,38,40,46,53,65,74,86(1分)
3.写出下图所示二叉树的先序、中序、后序序列
先序序列:ABDEFC
中序序列:DBFEAC
后序序列:DFEBCA
4.已知一棵二叉树的先根和中根序列,画出其对应的二叉树并求其后根序列。
先根序列:A, B, C, D, E, F, G, H, I, J
中根序列:C, B, A, E, F, D, I, H, J,G
5.设二维数组a7*6的每个元素占6个字节,且LOC(a00)=100,问A共占多少个字节?
A的终端结点a65的起始地址为何?按行和按列优先存储时,a35的起始地址分别为何?(5分)
42*6=252(1分)
100+41*6=346(2分)
行:100+3*6*6+5*6=238(1分)
列:100+5*7*6+3*6=328(1分)