test

数据结构

数据结构

第一组:

一、编程题

对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。

求数组所有边缘元素的数值和。

2.求从A[0][0]开始的互不相邻的所有元素的和

注:一个元素的八个方向上的第一个元素均为相邻元素。

3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。

设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。

二、解答题

设有一个求解汉诺塔(Hanoi)的递归算法

voidHANOI (int n , int peg1 , int peg2 , int peg3)

{

if (n= =1)

printf(”move %d to %d\n”,peg1,peg3);

else

{

HANOI (n-1, peg1, peg3, peg2);

printf(”move %d to %d\n”,peg1,peg3);

HANOI (n-1, peg2, peg1, peg3) ;

}

}

假定采用HANOI(3,1,2,3)去调用上述算法,则写出整个输出结果的前四行内容。

三、画图题

某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码

第二组:

一、编程题

已知某哈希表的装载因子小于1,哈希函数H(key)为关键字(标识符)的第一个字母在字母表中的序号,处理冲突的方法为线性探测开放定址法。试编写一个按第一个字母的顺序输出哈希表中所有关键字的算法。

设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。

二、解答题

写出下图所示的AOV网的可能拓扑序列,要求至少写出五个

三、画图题

设有序顺序表中的元素依次为017, 094, 154, 170, 275,503, 509, 512, 553, 612, 677, 765, 897, 908。试画出对其进行折半搜索时的判定树, 并计算搜索成功的平均搜索长度和搜索不成功的平均搜索长度。

第三组:

一、编程题

对于二维整数数组A[m][n],对下列三种情况,分别编写相应的函数。

1.求数组所有边缘元素的数值和。

int sum1(int A[M][N],int m ,int n)

{

2.求从A[0][0]开始的互不相邻的所有元素的和

注:一个元素的八个方向上的第一个元素均为相邻元素。

int sum2 (int A[M][N] , int m , int n)

{

3. 假定m=n,并为偶数,请分别计算正、反两条对角线上的元素值之和。

int sum3(int A[M][N] , int n)

{

设计在单链表中删除值相同的多余结点的算法。?

设计一个求结点x在二叉树中的双亲结点算法。?

二、解答题

已知一棵二叉树的先序序列是ABCDEFGHIJK,中序序列是CDBGFEAHJIK,请构造出该二叉树。

三、画图题

已知一棵二叉树的前序遍历的结果是ABECDFGHIJ, 中序遍历的结果是EBCDAFHIGJ, 试画出这棵二叉树,并给出这棵二叉树的后序遍历序列。

第四组:

一、编程题

1.设单链表中有仅三类字符的数据元素(大写字母、数字和其它字符),要求利用原单链表

中结点空间设计出三个单链表的算法,使每个单链表只包含同类字符。

2.?设计在链式存储结构上交换二叉树中所有结点左右子树的算法。?

1.设有一组初始记录关键字序列(K1,K2,?,Kn),要求设计一个算法能够在O(n)的时间

复杂度内将线性表划分成两部分,其中左半部分的每个关键字均小于Ki,右半部分的每个关键字均大于等于Ki。?

2.?设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,其中集合A、B和C用链式存储结构表示。

二、解答题

若二叉树中各结点的值均不相同,则由二叉树的前序序列和中序序列,或由其后序序列和中序序列均能唯一地确定一棵二叉树,但由前序序列和后序序列却不一定能唯一地确定一棵二叉树。 (1)已知一棵二叉树的前序序列和中序序列分别为ABDGHCEFI和GDHBAECIF,请画出此二叉树。 (2)已知一棵二叉树的在序序列和后序序列分别为BDCEAFHG和DECBHGFA,请画出此二叉树。 (3)已知一棵二叉树的前序序列和后序序列分别为AB和BA,请画出这两棵不同的二叉树。

三、画图题

某子系统在通信联络中只可能出现8种字符,其出现的概率分别为0.05,0.29,0.07,0.08,0.14,0.23,0.03,0.11试设计赫夫曼编码

第五组:

一、编程题

设顺序表L是一个递增有序表,试写一算法,将x插入L中,并使L仍是一个有序表。

用标准C语言实现Hanoi塔问题

二、解答题

对下面的带权无向图采用prim算法从顶点开始构造最小生成树。(写出加入生成树顶点集合S和选择Edge的顺序)

9 10

7

5 6 7

 

11 8

S:

顶点号

?

?

?

?

?

?

?

Edge:

?

(顶点,顶点,权值)

(,,)

(,,)

(,,)

(,,)

(,,)

三、画图题

将给定的图简化为最小的生成树,要求从顶点1出发。

posted @ 2020-11-17 23:43  西南大学张老师  阅读(361)  评论(0编辑  收藏  举报
test