数据结构试题及答案.docx

上传人:b****5 文档编号:5166184 上传时间:2022-12-13 格式:DOCX 页数:27 大小:44.77KB
下载 相关 举报
数据结构试题及答案.docx_第1页
第1页 / 共27页
数据结构试题及答案.docx_第2页
第2页 / 共27页
数据结构试题及答案.docx_第3页
第3页 / 共27页
数据结构试题及答案.docx_第4页
第4页 / 共27页
数据结构试题及答案.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数据结构试题及答案.docx

《数据结构试题及答案.docx》由会员分享,可在线阅读,更多相关《数据结构试题及答案.docx(27页珍藏版)》请在冰豆网上搜索。

数据结构试题及答案.docx

数据结构试题及答案

数据结构试题及答案

一、选择题(每小题2分,共20分),每个题的备选答案中,只有一个是正确的,请将答案填写在试题的括号中。

1、对顺序存储的线性表,设其长度为20,在任何位置上插入或删除操作都是等概率的。

插入一个元素时平均要移动表中的(  A  )个元素。

  A.10          B.9          C.11        D.12  

2、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用(   D   )存储方式最节省运算时间。

A.单链表            B.仅有头指针的单循环链表  

C.双链表            D.仅有尾指针的单循环链表

3、当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行(  B    )语句修改top指针。

A.top++    B.top--    C.top=0    D.top

4、设入栈顺序为A,B,C,D,E,则出栈序列不可能是(  C    )。

A.EDCBA      B.ABCDE        C.ADEBC        D.ABDEC

5、已知关键字序列(46,79,56,38,40,84),采用快速排序(以位于最左位置的关键字为基准)得到的第一次划分结果为:

(  A    )

A.{40,38,46,56,79,84}  B.{38,46,79,56,40,84}

C.{38,46,56,79,40,84}  D.{40,38,46,79,56,84}

6、一个有n个顶点和n条边的无向图一定是(  C    )。

    A.不连通的      B.连通的      C.有环的        D.无环的

7、在一棵具有n个结点的二叉树的第i层上,最多具有(   B   )个结点。

    A.2i        B.2i-1        C.2i+1        D.2n

8、对线性表采用折半查找法,该线性表必须(  B    )。

A.采用顺序存储结构B.采用顺序存储结构,且元素按值有序

C.采用链式存储结构    D.采用链式存储结构,且元素按值有序

9、在一棵具有n个结点的完全二叉树中,分支结点的最大编号为(  C    )。

A.?

(n-1)/2?

    B.?

n/2?

      C.?

n/2?

      D.?

n/2?

-1

10、在一个无向图中,所有顶点的度数之和等于所有边数的(   D   )倍。

A.3      B.1/2      C.1      D.2

二、填空题(每小题2分,共20分),请将正确的结果,填写在试题的横线上。

1、带头结点的循环链表L为空的条件是                。

2、序列A={12,70,33,65,24,56}给出对应于序列A的大顶堆HA(以线性数组表示)                                  。

3、每次使两个相邻的有序表合并成一个有序表,这种排序方法叫做________排序。

4、设循环队列Q的队头和队尾指针分别为front和rear,队列的最大容量为MaxSize,且规定判断队空的条件为Q.front==Q.rear,则队列的长度为                        。

5、已知数组A[0..11][0..8]按行优先存储,每个元素占有5个存储单元,且A[0][0]的地址为1000(十进制),则A[6][7]的地址为________________。

6、已知广义表A=(a,(),(b,(c))),则其深度为            。

7、在一棵二叉树中,假定度为2的结点个数为5个,度为1的结点个数为6个,则叶子结点数为__    ____个。

8、设森林F中有3棵树,第1、2、3棵树的结点个数分别为n1、n2、n3,当把森林F转换成一棵二叉树后,其根结点的右子树中有________个结点。

9、将含有64个结点的完全二叉树从根结点开始顺序编号,根结点为第1号,其他结点自上向下,同一层自左向右连续编号。

则第30号结点的双亲结点的编号为        。

10、有序表(1,2,3,4,5,6,7,8,9)用折半查找方法,查找元素3的比较次数为      。

三、判断题(每小题2分,共20分),下列说法正确的在前面括号内画“√”,错误的画“×”。

(  )1、线性表的逻辑顺序与存储顺序总是一致的。

(  )2、在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

(  )4、栈是仅限定在一端进行插入和删除的线性表。

(  )5、用邻接矩阵存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小与图中的顶点个数无关,只与图的边数有关。

(  )6、对于AOE网络,加速任一关键活动就能使整个工程提前完成。

(  )7、对两棵具有相同关键字集合而形状不同的二叉排序树,按中序遍历它们得到的序列的顺序是一样的。

(  )8、有向网中从一个顶点到另一个顶点的最短路径只有一条。

(  )9、对于一棵具有n个结点,其深度为h的二叉树,进行任一种次序遍历的时间复杂度为O(n)。

(  )10、快速排序和堆排序是不稳定的排序方法。

四、应用题(共40分)

1、(10分)假定一个待哈希存储的线性表为{32,75,63,48,94,25,36,18},哈希地址空间为[0…10],若采用哈希函数H(k)=kMOD11和线性探测再散列法处理冲突,试给出对应的哈希表(给出求解过程),并求出在等概率情况下查找成功时的平均查找长度。

2、(10分)有8个带权结点,其权值分别为4,26,12,8,7,13,15,15,试以它们为叶结点生成一棵Haffman树(给出过程),然后求出该树的带权路径长度WPL。

3、(10分)已知一棵二叉树,其先序序列为:

ABDEGMNCFH,中序序列为:

DBMGNEACHF,请画出这棵二叉树(给出过程),并给出其后序序列。

4、(10分)已知关键字序列(37,23,42,55,61,36,28,33),请给出采用快速排序法对序列作升序排序时每一趟的过程。

答案

一、选择题(每小题2分,共20分)

题号12345678910

答案ADBCACBBCD

二、填空题(每小题2分,共20分)

1、L->next==L2、{70,65,56,12,24,33}3、归并4、(Q.rearQ.front+MaxSize)%MaxSize5、13056、3      7、6  8、n2+n39、1510、3

三、判断题(每小题2分,共20分)

题号12345678910

答案×××√××√×√√

四、应用题(共40分)

1、过程4分,哈希表4分,平均查找长度2分,共10分

H(32)=32Mod11=10H(75)=75Mod11=9  H(63)=63Mod11=8  

H(48)=48Mod11=4  H(94)=94Mod11=6  H(25)=25Mod11=3  

H(36)=36Mod11=3,与25冲突,所以H1=(3+1)Mod11=4,与48冲突,H2=(3+2)Mod11=5,所以36的哈希地址是5,  H(18)=18Mod11=7

012345678910

  2548369418637532

查找成功时,36将比较3次,其它都是比较1次,所以平均查找长度是:

ASL=(1+1+1+1+1+1+3+1)/8=10/8=5/4=1.25

2、WPL值正确3分;过程每步1分;共7分

WPL=4*4+7*4+12*3+13*3+8*3+15*3+15*3+26*2=285

3、过程8分,后序序列2分,共10分

后序序列:

DMNGEBHFCA

4、快速排序的每一趟的过程:

(共10分)

初始序列  37  23  42  55  61  36  28  33

          [33  23  28  36]37[61  55  42]        (2分) [28  23]33[36]37[61  55  42]        (2分)[23]28  33  36  37[61  55  42]        (2分)

23  28  33  36  37[42  55]61        (2分)

23  28  33  36  37  42[55]61        (2分)

数据结构综合测试题

一、单选题

1.  以下数据结构中哪一个是线性结构?

( B)

    A.有向图    B.栈    C.线索二叉树    D.B树

2.  在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行(B )。

A.HL=p;p->next=HL;     B.p->next=HL;HL=p;

   C.p->next=HL;p=HL;     D.p->next=HL->next;HL->next=p;

3.  在一个带有头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( D)。

  A.HL=p;p->next=HL;     B.p->next=HL;HL=p;

      C.p->next=HL;p=HL;     D.p->next=HL->next;HL->next=p;

4.   单链表的每个结点中包括一个指针next,它指向该结点的后继结点。

现要将指针q指向的新结点插入到指针p指向的单链表结点之后,下面的操作序列中哪一个是正确的?

(C )

 A.q=p->next;p->next=q->next;   B.p->next=q->next;q=p->next

 C.q->next=p->next;p->next=q;   D.P->next=q;q->next=p->next;

5.    在一个循环顺序存储的队列中,队首指针指向队首元素的(B )位置。

    A.前一个   B.后一个   C.当前   

6.   以下哪一个不是队列的基本运算?

(B )

    A.从队尾插入一个新元素     B.从队列中删除第i个元素

    C.判断一个队列是否为空     D.读取队头元素的值

7.   用链接方式存储的队列,在进行删除运算时(D ).

    A.仅修改头指针       B.仅修改尾指针

    C.头、尾指针都要修改    D.头、尾指针可能都要修改

8.  对线性表,在下列哪种情况下应当采用链表表示?

( B)

    A.经常需要随机地存取元素        B.经常需要进行插入和删除操作

    C.表中元素需要占据一片连续的存储空间  D.表中元素的个数不变

9.  字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( A)个不同的字符串?

    A.5     B.4      C.6        D.1

10.下述哪一条是顺序存储方式的优点?

(A )

    A.存储密度大       B.插入运算方便 

    C.删除运算方便      D.可方便地用于各种逻辑结构的存储表示

11.  从二叉搜索树中查找一个元素时,其时间复杂度大致为( C)。

    A.O(n)   B.O

(1)   C.O(log2n)   D.O(n2)

12.  由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为____D____。

   A24   B48   C72   D53

13.  下列关于二叉树遍历的叙述中,正确的是( D)。

A.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点

 B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点

 C.若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点

  D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点

14.  高度k的二叉树的最大结点数为(A ).

A.2k-1   B.2K+1   C.2K-1    D.2k-1    

15.  下面关于图的存储的叙述中正确的是( C).

   A.用邻接表法存储图,占用的存储空间大小只与图中结点个数有关,而与边数无关

   B.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关

C.用邻接矩阵法存储图,占用的存储空间大小只与图中结点个数有关,而与边数无关

  D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关

16.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找关键码值10,所需的关键码比较次数为B

   A.2    B.3     C.4     D.5

17.  对线性表进行二分法查找,其前提条件是(A ).

A.线性表以顺序方式存储,并且按关键码值排好序  

B.线性表以顺序方式存储,并且按关键码值的检索频率排好序

C.线性表以链接方式存储,并且按关键码值排好序

D.线性表以链接方式存储,并且按关键码值的检索频率排好序

18.  下列哪一个关键码序列不符合堆的定义?

(C )

A. a、c、d、g、h、m、p、q、r、x     B.a、c、m、d、h、p、x、g、o、r

  C. a、d、p、r、c、q、x、m、h、g     D.a、d、c、m、p、g、h、x、r、q

19.  对n个记录的文件进行快速排序,所需要的辅助存储空间为B

 A.O

(1)     B. O(1og2n)    C. O(n)    D.O(n2)

20.  在待排序文件已基本有序的前提下,下述排序方法中效率最高的是A

 A.直接插入排序   B.直接选择排序   C.快速排序   D.归并排序

21.  设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建堆的结果?

 A. a,g,h,m,n,p,q,x,z    B. a,g,m,h,q,n,p,x,z

 C. g,m,q,a,n,p,x,h,z     D. h,g,m,p,a,n,q,x,z

22.下列关于数据结构的叙述中,正确的是( A).

A.  数组是同类型值的集合 

B.  递归算法的程序结构比迭代算法的程序结构更为精炼

C.  树是一种线性结构

D.  用一维数组存储二叉树,总是以先序遍历的顺序存储各结点

  二、填空题

1.   数据的逻辑结构被分为_________、________、__________和___________四种。

2.   数据的物理结构被分为____顺序_____、___链表_____、____索引______和____散列_______四种。

3.   一个算法的时间复杂度为(3n2+2nlog2n+4n-7)/(5n),其数量级表示为______。

4.   对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。

5.   对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。

6.   在以HL为表头指针的带表头附加结点的单链表和循环单链表中,链表为空的条件分别为________和________。

7.   一个广义表中的元素分为____单____元素和____表____元素两类。

8.   从一个链栈中删除一个结点时,需要把栈顶结点的___指针______域的值赋给___栈顶指针_____。

9.   进行函数调用时,需要把每个实参的值和调用后的___返回地址_____传送给被调用的函数中。

10.  设W为一个二维数组,其每个数据元素占用6个字节,行下标i从0到8,列下标j从0到3,则二维数组W的数据元素共占用__个字节。

W中第6行的元素和第4列的元素共占用__个字节。

若按行顺序存放二维数组W,其起始地址为100,则二维数组W的最后一个数据元素的起始地址为__。

11.  在线性表的单链存储中,若一个元素所在的结点地址为p,则其后继结点的地址为_________,若假定p为一个数组a中的下标,则其后继结点的下标为_____________。

12.  在稀疏矩阵所对应的三元组线性表中,每个三元组元素按____行号_____为主序、____列号_____为辅序的次序排列。

13.  栈又称为_______________表,队列又称为___________表。

14.  中缀算式(3+4)*2/(8-5)所对应的后缀算式为_______________________________。

15.  后缀算式423*+105/-的值为__________。

16.  对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子则左孩子结点的编号为________,若它有右孩子,则右孩子结点的编号为________,若它有双亲,则双亲结点的编号为___i/2_____。

17.  在一棵高度为5的理想平衡树中,最少含有____16____个结点,最多含有________个结点。

18.  假定一棵树的广义表表示为A(B(C,D(E,F,G),H(I,J))),则树中所含的结点数为____个,树的深度为______,树的度为_________。

19.  若一棵二叉树中只有叶子结点和左、右子树皆非空的结点,设叶结点的个数为K,则左、右子树皆非空的结点个数是________。

20.  在树中,一个结点的直接后继结点的个数称为该结点的________。

21.  在n个带权叶子结点构造出的所有二叉树中,带权路径长度最小的二叉树称为___霍夫曼树_____。

WPL称为____带权路径长度_________________。

22.  对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个__有序序列________。

23.  当向一个小根堆插入一个具有最小值的元素时,需要逐层____向上_____调整,直到被调整到_____根_______位置为止。

24.  在一个堆的顺序存储中,若一个元素的下标为i(0≤i≤n-1),则它的左孩子元素的下标为______,右孩子元素的下标为________。

25.  在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。

26.  对于一个具有n个顶点和e条边的有向图和无向图,若采用边集数组表示,则存于数组中的边数分别为________和________条。

27.  以二分查找方法从长度为12的有序表中查找一个元素时,平均查找长度为________。

28.  假定一个线性表为(12,23,74,55,63,40,82,36),若按Key%3条件进行划分,使得同一余数的元素成为一个子表,则得到的三个子表分别为_____________、_____________和_____________。

29.  在线性表的散列存储中,装填因子a又称为装填系数,若用m表示散列表的长度,n表示待散列存储的元素的个数,则a等于________。

30.  在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________个,其子树数目最少为________,最多为________。

31.  表示图的三种常用的存储结构为__________、_______和________。

32.  对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________个。

33.  对用邻接矩阵表示的有向图进行任一种遍历时,其时间复杂度为_________。

对用邻接表表示的有向图进行任一种遍历时,其时间复杂度为________。

34.  对于线性表(70,34,55,23,65,41,20,100)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有________个,散列地址为7的有_______个。

35.  在索引表中,若一个索引项对应主表的一个记录,则此索引为__________索引,若对应主表的若干条记录,则称此索引为________索引。

36.  向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。

37.  在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。

38.  快速排序在平均情况下的时间复杂度为________,在最坏情况下的时间复杂度为________。

39.  在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为____________,空间复杂度为___________。

40.  在快速排序、堆排序、归并排序中,_________排序是稳定的。

  三、运算题

1.  在如下数组A中链接存储了一个线性表,表头指针为A[0].next,试写出该线性表。

         a  0  1  2  3  4  5  6  7

data

 

60

50

78

90

34

 

40

next

4

3

0

2

5

7

 

1

2.  假定一棵二叉树广义表表示为a(b(c),d(e,f)),分别写出对它进行先序、中序、后序、按层遍历的结果。

    先序:

    中序:

    后序:

    按层:

3.  已知一棵二叉树的先序遍历的结果是ABECDFGHIJ,中序遍历的结果是EBCDAFHIGJ,试画出这棵二叉树。

4.  铁路进行列车调度时,常把站台设计成栈式结构的站台,如下图1所示。

试问:

(1)       设有编号为1,2,3,4的四辆列车,顺序开入栈式结构的站台,则可能的出栈序列有多少种?

(2)       若进站的四辆列车顺序如上所述,那么是否能够得到4123这样的出栈序列?

如果不能,说明为什么不能。

如果能,说明如何得到该

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

当前位置:首页 > 高等教育 > 艺术

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

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