《数据结构》全真模拟试题与解答Word文档下载推荐.docx

上传人:b****3 文档编号:16033018 上传时间:2022-11-17 格式:DOCX 页数:10 大小:275.57KB
下载 相关 举报
《数据结构》全真模拟试题与解答Word文档下载推荐.docx_第1页
第1页 / 共10页
《数据结构》全真模拟试题与解答Word文档下载推荐.docx_第2页
第2页 / 共10页
《数据结构》全真模拟试题与解答Word文档下载推荐.docx_第3页
第3页 / 共10页
《数据结构》全真模拟试题与解答Word文档下载推荐.docx_第4页
第4页 / 共10页
《数据结构》全真模拟试题与解答Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

《数据结构》全真模拟试题与解答Word文档下载推荐.docx

《《数据结构》全真模拟试题与解答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《数据结构》全真模拟试题与解答Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

《数据结构》全真模拟试题与解答Word文档下载推荐.docx

6.快速排序的记录移动次数( )比较次数,其总执行时间为O(nlog2n)。

1大于 ②大于等于 ③小于等于 ④小于

  7.一棵二叉树有n个结点,要按某顺序对该二叉树中的结点编号,(号码为1-n),编号须具有如下性质:

二叉树中任一结点V,其编号等于其左子树中结点的最大编号加1。

而其右子树中结点的最小编号等于V的编号加1。

试问应按( )遍历顺序编号。

1前根 ②中根 ③后根 ④层次

  8.3个结点可构成( )个不同形态的二叉树。

12 ②3 ③4 ④5

  9.对有n个记录的有序表采用二分查找,其平均查找长度的量级为( )

1O(log2n) ②O(nlog2n) ③O(n) ④O(n2)

10.对有n个记录的表按记录键值有序的顺序建立二叉树,在这种情况下,其平均查找长度的量级为( )

1O(n) ②O(nlog2n) ③O

(1) ④(log2n)

11.栈操作的原则是( )

1先进先出 ②后进先出 ③栈顶插入 ④栈顶删除

12.设矩阵A是一对称矩阵(aij=aji,1<

=i,j<

=8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为( )

11031 ②1093 ③1096 ④1032

二、判断题(判断下列各题是否正确,正确在括号内打“√”,错的打“×

”。

每小题1分,共10分)

1.如果两个串含有相同的字符,则这两个串相等。

  ( )

2.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。

 ( )

3.在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每一块中元素个数有关。

( )

4.在顺序表中取出第i个元素所花费的时间与i成正比。

5.在栈满情况下不能作进栈运算,否则产生“上溢”。

    ( )

6.二路归并排序的核心操作是将两上有序序列归并为一个有序序列。

7.对任意一个图,从它的某个顶点出发,进行一次深度优先或广度优先搜索,即可访问图的每个顶点.( )

8.二叉排序树或者是一棵空二叉树,或者是具有下列性质的二叉树:

若它的左子树非空,则根结点的值大于其左孩子的值;

若它的右子树非空,则根结点的值小于其右孩子的值。

9.在执行某个排序算法过程中,出现了排序码朝着最终排序序列位置相反方向移动,则该算法是不稳定的。

10.一个有向图的邻接表和逆邻接表中表结点的个数一定相等。

三、填空题(每空2分,共26分)

1.在带有头结点的单链表L中,若要删除第一个结点,则需执行下列三条语句:

________;

L->

next=U->

next;

free(U);

2.有一个长度为20的有序表采用二分查找方法进行查找,共有______个元素的查找长度为3。

3.采用冒泡排序对有n个记录的表A按键值递增排序,若L的初始状态是按键值递增,则排序过程中记录的比较次数为_____。

若A的初始状态为递减排列,则记录的交换次数为_______。

4.在无头结点的双链表中,指针P所指结点是第一个结点的条件是______。

5.G为无向图,如果从G的某个顶点出发,进行一次广度优先搜索,即可访问图的每个顶点,则该图一定是_____图。

6.如果一个有向图中没有______,则该图的全部顶点可能排成一个拓扑序列。

7.深度为8(根的层次号为1)的满二叉树有______个叶子结点。

8.将一棵有100个结点的完全二叉树按层编号,则编号为49的结点X,其双亲PARENT(X)的编号为_______。

9.设某闭散列表HT未满,散列函数H(KEY)为键值第一字母在字母表中的序号,处理冲突方法为线性探测法,请在下列算法划线处填上适当内容,以实现按键值第一字母的顺序输出闭散列表中所有键值的算法。

voidprintword(keytypeHT[m])

{for(i=1;

i<

=26;

i++)

{j=i;

while(____________________)

{if(____________________)printf(“datatype”,HT[j]);

j=(j+1)%m;

}

10.设有一个链队,结点结构为data|next,front为队头指针,rear为队尾指针,当执行入队操作时需执行下列语句:

malloc(p);

p->

data=x;

p->

next=NULL;

________________;

四、应用题(共26分)

1.有向图G的邻接表如下图所示,若删去图G中的边<V3,V6>和<V4,V5>,试画出修改后图的邻接表。

(4分)

2.有向图如下图所示,写出以V1为出发点对图进行深度优先搜索所得到的所有可能的访问序列。

3.对于键值序列(49,38,65,97,76,13,27,50),使用堆排序算法完成排序过程。

要求:

⑴画出初始堆(用二叉树表示)。

⑵画出分别输出13,27后重建的两个堆。

(5分)

4.一个深度为d(根的层次号为1)的满K叉树有如下性质:

第d层上的结点都是叶子结点,其余各层上的每个结点都有K棵非空子树。

如果从根这一层开始从左到右顺序逐层对全部结点编号,且根结点的编号为1,问编号为n的结点有右兄弟的条件是什么其右兄弟的编号是多少(3分)

5.给定权值{5,10,12,15,30,40},构造相应的哈夫曼树,要求写构造歩骤。

6.已知一表为(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec),按表中顺序依次插入初始为空的二叉排序树,要求:

⑴画出建立的二叉排序树。

⑵求出在等概率情况下查找成功的平均查找长度。

(2分)

五、设计题(共14分)

1.设有一单链表L,结点结构为data|next,结点个数至少3个,试画出链表L的结构图,并编写算法判断该单链表L中的元素是否成等差关系,即:

设各元素值次为a1,a2,a3,…,an,判断ai+1-ai=ai-ai-1是否成立,其中i满足2<

=i<

=n-1.(8分)

2.设有一棵二叉树以二叉链表作为存储结构,结点结构为lchild|data|rchild,其中data域中存放一个字符,设计一个算法按前根遍历顺序仅打印出data域为数字的字符(即‘0’<

=data<

=‘9’)(6分)

全真模拟参考答案

一、单项选择题

1.②  2.③  3.④  4.④5.①6..③7.②8.④9.①

10.① 对键值有序的、具有n个记录的表来讲,当所建立的二叉排序树是一棵深度为n的单支树时,在它上面的查找操作已经退化为顺序查找,所以其平均查找长度的量级为O(n).

11.②

12.② 按题意要求,将对称矩阵A的上三角部分按行优先进行存放数组了B中,那么B[k]与aij的对应关系为:

当i<

=j时,k=(i-1)/2*(2*n-i+2)+j-i+1

因此有:

k=(6-1)/2*(2*8-6+2)+7-6+1=32

故    LOC(a67)=LOC(a11)+(k-1)*l=1000+(32-1)*3=1093

二、判断题

  1.×

  2.×

3.√4.×

5.√6.√7.×

8.×

9.×

10.

三、填空题

1.U=L->

next

2.4。

 分析:

二分查找的过程可以用一棵有序树来表示,该树第三层上有4个结点,表示经过三次比较查找成功的元素个数为4。

3.n-1、n(n-1)/2。

采用冒泡排序时,若初始时已经自然有序,那么经过一趟n-1次比较后,算法就自动终止了。

若初始状态为递减排列,希望排序成递增排列,则排序过程中比较一次,交换一次,总的比较、交换次数为n(n-1)/2,其中n-1为趟数,n/2为平均每趟的比较交换次数。

4.p->

prior=NULL。

5.连通

6.回路或环

7.28-1=27=128

8.24

9.HT[j]!

=NULL或HT[j]不为空、H(HT[j])=I

10.rear->

next=p、rear=p

四、应用题

1.修改后的有向图G的邻接表如图所示。

2.  1,2,5,4,3,6

    1,3,6,4,5,2

    1,3,5,4,6,2

3.⑴初始堆如图所示。

 ⑵输出13后重建的堆如图所示。

 ⑶输出27后重建的堆如图所示。

4.分析:

在满k叉树中,除编号为1的根结点外,其余结点依次为每k个结点拥有一个共同的双亲。

比如:

第二号-第k+1号结点的双亲是第1号结点;

第k+2号-第2k+1号结点的双亲是第2号结点;

第2k+1号-第3k+1号结点的双亲是第3号结点;

      ......

从中可以看出,若编号为n,那么当(n-1)%k=0时,它一定是某个结点的最右边的孩子,即它的右边不会再有兄弟了。

反之,当(n-1)%k≠0,它的右边一定还有兄弟。

答案:

编号为n的结点有兄弟的条件是(n-1)%k≠0,该点的右兄弟的编号是n+1。

    5.哈夫曼树的构造过程如图所示。

    6.⑴建立的二叉排序树如图所示。

     ⑵在等概率情况下,查找成功的平均查找长度为

(1+2+3+4+5+6+...+12)/12=7*12/12=7。

五、设计题

    1.单链表的结构图如图设计题Ⅱ9.1.2所示。

a1

a2

an

...

算法:

intisrise(lklistL)

{p=L->

next;

b=p->

data–L->

data;

while(p->

next!

=NULL)

{q=p->

if(q->

data–p->

data!

=b)return(0)

elsep=q;

}

return

(1);

2.VoidNchar(bitreptrt)

{if(t!

=Null)

{if(t->

data>

=’0’)&

&

(t->

data<

=‘9’)printf(“%d”,t->

data);

Nchar(t->

lchild);

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

当前位置:首页 > 法律文书 > 调解书

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

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