温州大学数据结构考研初试真题Word格式文档下载.docx

上传人:b****6 文档编号:21575184 上传时间:2023-01-31 格式:DOCX 页数:7 大小:54.83KB
下载 相关 举报
温州大学数据结构考研初试真题Word格式文档下载.docx_第1页
第1页 / 共7页
温州大学数据结构考研初试真题Word格式文档下载.docx_第2页
第2页 / 共7页
温州大学数据结构考研初试真题Word格式文档下载.docx_第3页
第3页 / 共7页
温州大学数据结构考研初试真题Word格式文档下载.docx_第4页
第4页 / 共7页
温州大学数据结构考研初试真题Word格式文档下载.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

温州大学数据结构考研初试真题Word格式文档下载.docx

《温州大学数据结构考研初试真题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《温州大学数据结构考研初试真题Word格式文档下载.docx(7页珍藏版)》请在冰豆网上搜索。

温州大学数据结构考研初试真题Word格式文档下载.docx

push(s,a);

push(s,b);

pop(s,&

x);

top(s,&

A.aB.bC.1D.0

6.数组A中,每个元素的长度为4个字节,行下标i从1到8,列下标j从1到10,从首地址100开始连续存放在存储器内。

若该数组按行主序存放,则元素A[8][5]的起始地址为(  );

若该数组按列主序存放,则元素A[8][5]的起始地址为(  )。

A.396,217B.396,256C.256,396D.256,217

7.若一棵二叉树具有10个度为2的结点,则该二叉树的度为0的结点个数是(  )。

A.9B.11C.12D.不确定

8.设有无向连通图G中的边集E={(A,B),(A,C),(A,E),(B,E),(E,D),(D,F),(F,C)}。

若从顶点A出发按深度优先搜索进行遍历,则可能得到的一种顶点序列为(  )。

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}

9.对于长度为9的有序顺序表,若采用折半查找法,在等概率情况下查找成功的平均查找长度为(  )的值除以9。

A.20B.18C.25D.22

10.排序算法的稳定性是指(  )。

A.经过排序之后,能使值相同的数据保持原顺序中的相对位置不变

B.经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变

C.排序算法的性能与待排序元素的数量关系不大

D.排序算法的性能与待排序元素的数量关系密切

二、填空题(共5小题,每小题10分,共50分)

1.请完成下面顺序表的操作。

顺序表的类型如下。

typedefstruct{

ElementType*array;

/*存放元素的数组*/

intlength;

/*已经有多少元素*/

intcapacity;

/*容量*/

}SeqList;

/*在顺序表的第i个位置插入元素x*/

intinsertList(SeqList*L,inti,ElementTypex)

{

if(L->

length>

=L->

capacity){

return0;

}

if(i<

1||i>

L->

length+1){

for(k=L->

length-1;

k>

=i-1;

k--){

L->

array[k+1]=L->

array[k];

____________;

return1;

}

2.假设通讯电文中只用到A,B,C,D,E,F六个字母,它们在电文中出现的相对频率分别为:

8,3,16,10,5,20。

(1)用这些信息构造哈夫曼树;

(2)计算该哈夫曼树的带权路径长度。

这棵哈夫曼树有____________个结点;

该哈夫曼树的带权路径长度(WPL):

____________。

3.己知序列{99,5,36,7,22,17,46,12,2,19,25,28,1,92},用这些序列建小根堆。

按照从上到下,从左到右,小根堆的结点序列是:

________________________。

4.已知序列{13,2,16,3,8,28,4,10,5,6,7},请按照下面的快速排序算法,给出该序列作升序排列时前三趟的结果。

第1趟:

____________________________________;

第2趟:

第3趟:

____________________________________。

typedefintElementType;

intpartition(ElementTyper[],intlow,inthigh)

intpivot;

pivot=r[low];

while(low<

high){

while(low<

high&

&

r[high]>

=pivot){

high--;

}

r[low]=r[high];

r[low]<

low++;

r[high]=r[low];

r[low]=pivot;

returnlow;

voidqSort(ElementTyper[],intlow,inthigh)

intpos;

if(low<

pos=partition(r,low,high);

/*将r[low..high]一分为二*/

qSort(r,low,pos-1);

/*对左边子表快速排序*/

qSort(r,pos+1,high);

/*对右边子表快速排序*/

voidquickSort(ElementTyper[],intn){

qSort(r,1,n);

5.计算下图所示的AOE网中各顶点所表示的事件最早发生时间、最晚发生时间和各边所表示的活动最早开始时间、最晚开始时间,找出关键路径并计算关键路径的长度。

(1)(5分)

各事件的最早发生时间和最晚发生时间:

v0

v1

v2

v3

v4

v5

v6

v7

v8

最早发生时间

最晚发生时间

各活动的最早开始时间和最晚开始时间:

a1

a2

a3

a4

a5

a6

a7

a8

A9

a10

a11

最早开始时间

最晚开始时间

(2)关键路径:

____________;

关键路径的长度:

(5分)

 

三、应用题(共4小题,每小题15分,共60分)

1.设计一个高效算法,删除顺序表中所有元素值为x的元素。

假设顺序表的数据元素类型为整型。

要求:

(1)用下面指定的顺序表结构;

(2)时间复杂度为O(n)、空间复杂度为O

(1);

(3)算法用下面的函数原型表示。

/*顺序表结构*/

/*已经有多少元素*/

/*删除所有元素值为x的元素*/

voiddeleteAllX(SeqList*L,intx);

2.有两个单链表LA和LB,它们的元素均为非递减有序排列。

编写一个算法,将它们合并成一个单链表,要求合并后的单链表中的元素也是非递减有序序列,并且不需要额外申请结点空间。

例如,LA=(2,2,3),LB=(1,3,3,4),合并后为(1,2,2,3,3,3,4)。

(1)用下面指定的链表结构;

(2)算法用下面的函数原型表示。

/*链表结构*/

typedefstructNode{

ElementTypedata;

structNode*next;

}Node,*LinkList;

/*LinkList为结构指针类型*/

/*两个单链表的合并。

LA表示第1个单链表,LB表示第2个单链表。

相加到LA单链表*/

voidmergeList(LinkListLA,LinkListLB);

3.编写一个算法,完成对一棵二叉树的左右子树的交换。

二叉树的存储结构如下:

structNode*left;

structNode*right;

}BTNode,*BTree;

4.暑假,小白准备去一些城市旅游。

有些城市之间有公路,有些城市之间则没有,如下图。

为了节省经费以及方便计划旅程,小白希望在出发之前知道任意两个城市之间的最短路径。

请设计算法帮助小白解决这个问题!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1