您的当前位置:首页正文

数据结构习题

2021-10-18 来源:好走旅游网
数据结构习题

选择题:

1、算法的时间复杂度取决于()dA)问题的规模B)待处理的数据初态C)问题的难度D)A)和B)

2、数据在计算机内存中的表⽰是指()aA)数据的存储结构B)数据结构C)数据的逻辑结构D)数据元素之间的关系

3、在数据结构中,与所使⽤的计算机⽆关的数据结构是()A)逻辑B)存储C)逻辑和存储D)物理

4、在数据结构中,从逻辑上可以把数据结构分成()aA)动态结构和静态结构B)紧凑结构和⾮紧凑结构C)线形结构和⾮线形结构D)内部结构和外部结构

5、以下不是栈的基本运算的是()bA)删除栈顶元素B)删除栈底元素C)判断栈是否为空D)将栈置为空栈

6、若进栈序列为1,2,3,4,进栈过程中可以出栈,则下列不可能的⼀个出栈序列是()c

A)1,4,3,2B)2,3,4,1C)3,1,4,2D)3,4,2,1

7、若进栈序列是1,2,3,4,假定进栈和出栈可以穿插进⾏,则可能的出栈序列是()A)2,4,1,3

B)3,1,4,2C)3,4,1,2D)1,2,3,4

8、链表不具备的特点是()A)可随机访问任意⼀个结点B)插⼊和删除不需要移动任何元素C)不必事先估计存储空间D)所需空间与其长度成正⽐

9、对线性表,在下列情况下应当采⽤链表表⽰的是()A)经常需要随机存取元素B)经常需要进⾏插⼊和删除操作

C)表中元素需要占据⼀⽚连续的存储空间D)表中的元素个数不变

10、如果最常⽤的操作是取第I个结点及其前驱,最节省时间的存储⽅式()A)单链表B)双向链表C)单循环链表D)顺序表

11、与单链表相⽐,双向链表的优点之⼀是()A)插⼊、删除操作更加简单B)可以随机访问

C)可以省略表头指针或表尾指针D)顺序访问相邻结点更加灵活12、栈和队列的共同点是()A)都是先进先出B)都是先进后出

C)只允许在端点处插⼊和删除元素D)没有共同点

13、若已知⼀个栈的进栈序列是1,2,3……n,其输出序列是p1,p2,p3,p n,若p1=n,则p i(1A)IB)N-IC)N-I+1D)不确定

14、若已知⼀个栈的进栈序列是1,2,3……n,其输出序列是p1,p2,p3,p n,若p1=3,则p2为()

A)可能是2B)⼀定是2C)可能是1D)⼀定是1

15、判断⼀个栈ST(最多元素为MaxSize)为空的条件是()A)ST->top!==-1B)ST->top==-1

C)ST->top!== MaxSize-1D)ST->top== MaxSize-1

16、判断⼀个栈ST(最多元素为MaxSize)为满的条件是()A)ST->top!==-1B)ST->top==-1

C)ST->top!== MaxSize-1D)ST->top== MaxSize-1

17、不带头结点的单链表head为空的判定条件是()A)head=NULLB)head->next=NULLC)head->next=headD)head!=NULL

18、带头结点的单链表head为空的判定条件是()A)head=NULLB)head->next=NULLC)head->next=headD)head!=NULL

19、可以⽤带表头结点的链表表⽰线性表,也可以⽤不带表头结点的链表表⽰线性表,前者最主要的好处是()A)可以加快对表的遍历B)使空表和⾮空表的处理统⼀C)节省存储空间

D)可以提⾼存取元素的速度

20、带头结点的双向链表L为空的条件是()A)L==NULLB)L->next==NULLC)L->prior==NULLD)L->next==L

21、向⼀个栈顶指针为HS的链表栈中插⼊⼀个s所指的结点时,则执⾏()A)HS->next=s;

B)S->next=HS->next; HS->next=s;C)S->next=HS;HS=s;D)S->next=HS;HS=HS->next;

22、在⼀个链式队列中,假设f和r分别为队头和队尾指针,则插⼊s所指结点的运算是()A)f->next=s;f=s;B)r->next=s;r=s;C)s->next=r;r=s;D)s->next=f;f=s;

23、在⼀个链队列中,假设f和r分别为队头和队尾指针,则删除结点的运算是()A)r=f->next;B)r=r->next;C)f=f->next;D)f=r->next;

24、下列关于线性表、栈和队列的叙述,错误的是()A)线性表是给定的n(n必须⼤于零)个元素组成的序列B)线性表允许在表的任何位置进⾏插⼊和删除操作C)栈只允许在⼀端进⾏插⼊和删除操作D)队列允许在⼀端进⾏插⼊,在另⼀端进⾏删除

25、⼀个队列的⼊队序列是1,2,3,4,则队列的输出序列是()A)4,3,2,1B)1,2,3,4C)1,4,3,2D)3,2,4,1

26、设初始输⼊序列为1,2,3,4,5,利⽤⼀个栈产⽣输出序列,下列()序列是不可能通过栈产⽣的。A)1,2,3,4,5B)5,3,4,1,2C)4,3,2,1,5D)3,4,5,2,1

27、设栈S的初始状态为空,6个元素⼊栈的顺序为e1,e2,e3,e4,e5和e6,若出栈的顺序是e2,e4,e3,e6,e5,e1,则栈S的容量⾄少应该是()A) 6

B) 4C) 3D) 2

28、树最适合⽤来表⽰()A)有序数据元素B)⽆序数据元素

C)元素之间具有分⽀层次关系的数据D)元素之间⽆联系的数据

29、下列有关树的概念错误的是()A)⼀棵树中只有⼀个⽆前驱的结点B)⼀棵树的度为树中各个结点的度之和

C)⼀棵树中,每个结点的度数等于结点总数减⼀D)⼀棵树中每个结点的度数之和与边的条数相等30、下⾯关于⼆叉树的叙述正确的是()

A)⼀棵⼆叉树中叶⼦结点的个数等于度为2的结点个数加1B)⼀棵⼆叉树中结点的个数⼤于0

C)⼆叉树中任何⼀个结点要么是叶,要么恰有两个⼦⼥D)

31、A)abcdefB)abdefcC)dbefacD)defbca32、

根结点的右边()

A)只有右⼦树上的所有结点B)只有右⼦树上的部分结点C)只有左⼦树上的部分结点D)只有左⼦树上的所有结点

33、设n,m为⼀棵⼆叉树上的两个结点,在中序遍历中,n在m前的条件是()A)n 在m右⼦树上B)n是m的祖先C)n在m的左⼦树上D)n是m的⼦孙

34、对线性表进⾏折半查找时,要求线性表必须()A)以顺序⽅式存储B)以链接⽅式存储

C)以顺序⽅式存储,且结点按关键字有序排列D)以链接⽅式存储,且结点按关键字有序排列35、下⾯关于线性表的叙述错误的是()

A)若⽤数组表⽰,表中诸元素的存储位置是连在⼀起的B)若⽤链表表⽰,便于插⼊和删除操作

C)若⽤链表表⽰,不需要占⽤⼀⽚相邻的存储空间D)表的插⼊和删除操作仅允许在表的⼀端进⾏36、下⾯关于线性表的叙述中,错误的是()A)线性表采⽤顺序存储,必须占⽤⼀⽚连续的存储单元B)线性表采⽤顺序存储,便于进⾏插⼊和删除操作C)线性表采⽤链式存储,不必占⽤⼀⽚连续的存储单元D)线性表采⽤链式存储,便于进⾏插⼊和删除操作37、⽤数组表⽰线性表的优点是()A)便于插⼊和删除操作B)便于随机存取

C)可以动态地分配存储空间D)不需要占⽤⼀⽚相邻的存储空间

38、知某⼆叉树的后序遍历序列是DACBE,中序遍历序列是DEBAC,则它的前序遍历序列是()A)ACBEDB)DEABCC)DECABD)EDBCA

39、⼀棵⼆叉树的前序遍历序列为ABDGCFK,中序遍历为DGBAFCK,则结点的后序遍历序列是()A)ACFKDBGB)GDBFKCAC)KCFAGDBD)ABCDFKG

40、为了减⼩栈溢出的可能性,可以让两个栈共享⼀⽚连续存储空间,两个栈的栈底分别设在这⽚空间的两端,这样只有当()时才可能产⽣溢出。A)两个栈的栈顶在栈空间的某⼀位置相遇

B)其中⼀个栈的栈顶到达栈空间的中⼼点C)两个栈的栈顶同时到达栈空间的中⼼点

D)两个栈均不空,且⼀个栈的栈顶到达另⼀个栈的栈底

41、对于n个结点的单向链表(⽆表头结点),需要指针单元的个数⾄少为()A)n-1 B)n C)n+1 D)2n

42、⼆叉树前序遍历和中序遍历序列如下:前序遍历序列:EFHI’JK中序遍历序列:HFIEJK’

则该⼆叉树根结点的右⼦树的根为:()A)E B)F C)’ D)H

43、设⼆叉树根结点的层次为0,⼀棵树深为h的满⼆叉树中结点的个数是()A)2hB)2h-1C)2h-1D)2h+1-1

44、有关⼆叉树的下列说法正确的是()A)⼆叉树的度为2

B)⼀棵⼆叉树的度可以⼩于2C)⼆叉树中任何⼀个结点的度都为2

D)任何⼀棵⼆叉树中⾄少有⼀个结点的度为2 45

A

C D)46、设深度为h

的⼆叉树上只有度为0和度为2⾄少为()A)2hB)2h-1C)2h+1D)h+147、

A)abcdgefB)dfebagcC)dbaefcgD)abcdefge

48、某⼆叉树的先序和后序遍历序列正好相反,则该⼆叉树⼀定是()A)空或只有⼀个结点B)完全⼆叉树C)⼆叉排序树D)深度等于其结点数

49、树的基本遍历策略分为先根遍历和后根遍历;⼆叉树的基本遍历策略可分为先序遍

历、中序遍历和后序遍历。这⾥,我们把由树转化得到的⼆叉树叫做这棵树对应的⼆叉树,其中结论()是正确的。A)树的先根遍历序列与其对应的⼆叉树的先序遍历序列相同B)树的后根遍历序列与其对应的⼆叉树的后序遍历序列相同C)树的先根遍历序列与其对应的⼆叉树的中序遍历序列相同D)以上都不对

50、按照⼆叉树的定义,具有3个结点的⼆叉树有()种。A) 3B) 4C) 5D) 6

51、深度为5的⼆叉树⾄多有()个结点。A)16B)32C)31D)10

52、假定根结点的层次是0,含有15个结点的⼆叉树的最⼩树深是()A) 4B) 5C) 3D) 6

53、在⼀⾮空⼆叉树的中序遍历序列中,根结点的右边()A)只有右⼦树上的所有结点B)只有右⼦树上的部分结点C)只有左⼦树上的部分结点D)只有左⼦树上的所有结点

54、任何⼀棵⼆叉树的叶⼦结点在先序、中序和后序遍历序列中的相对次序()A)不发⽣改变B)发⽣改变C)不能确定D)以上都不对

55、对⼀个满⼆叉树,m个树叶,n个结点,深度为h ,则()A)n=h+mB)h+m=2nC)m=h-1D)n=2h-1

72、算法指的是()A)计算机程序B)解决问题的计算⽅法C)排序算法

D)解决问题的有限运算序列

73、算法能正确地实现预定功能的特性称为算法的()A)正确性B)易读性C)健壮性D)⾼效性

74、数据的不可分割的基本单位是()A)元素B)结点C)数据类型D)数据项

75、⼀个递归的定义可以⽤递归过程求解,也可以⽤⾮递归过程求解,但单从运⾏时间来看,通常递归过程⽐⾮递归过程()A)较快B)较慢C)相同D)⽆法确定

76、以下有关数据结构的叙述,正确的是()A)线性表的线性存储结构优于链式存储结构

B)⼆叉树的第I层上有2i-1个结点,深度为k的⼆叉树有2k-1个结点C)⼆维数组是其数据元素为线性表的线性表

D)栈的操作⽅式是先进先出

77、在数据结构的讨论中把数据结构从逻辑上分为()A)内部结构与外部结构B)静态结构与动态结构C)线性结构与⾮线性结构D)紧凑结构与⾮紧凑结构

78、数据的逻辑关系是指数据元素的()A)关联B)结构C)数据项D)存储⽅式

79、下列关于数据结构的叙述中,正确的是()A)数组是同类型值的集合

B)递归算法的程序结构⽐迭代算法的程序结构更为精炼C)树是⼀种线性结构

D)⽤⼀维数组存储⼆叉树,总是以先序遍历的顺序存储各结点80、执⾏下⾯程序段时,执⾏S语句的次数为()for(int I=1;I<=n;I++)for(int j=1;j<=I;j++)S;A)n2B)n2/2C)n(n+1)D)n(n+1)/2

81、下⾯程序段的时间复杂度是()for(int I=0;Ifor(int j=1;jA[I][j]=0;A)O(n)B)O(m+n+1)C)O(m+n)D)O(m*n)

82、下列算法suanfa胡时间复杂度为()int suanfa(int n){

int t=1;while(t<=n)t=t*2;return t;}

A)O(log2n)B)O(2n)C)O(n2)D)O(n)

83、单链表的每个结点包括⼀个指针link ,它指向该结点的后继结点。现要将指针q指向的新结点插⼊到指针p指向的单链表结点之后,下⾯的操作序列中()是正确的。A)q=p->link;p->link=q->link;B)p->link=q->link;q=p->link;C)q->link=p->link;p->link=q;D)p->link=q;q->link=p->link;

84、以下数据结构中,()是线性结构。A)有向图B)栈

C)线索⼆叉树D)B树

85、以下关于链式存储结构的叙述中,()是不正确的。

A)结点除⾃⾝信息外还包括指针域,因此存储密度⼩于顺序存储结构B)逻辑上相邻的结点物理上不必邻接

C)可以通过计算直接确定第I个结点的存储地址D)插⼊、删除运算操作⽅便,不必移动结点

86、以下关于顺序存储结构的叙述中,()是不正确的。A)存储密度⼤

B)逻辑上相邻的结点物理上不必邻接

C)可以通过计算直接确定第I个结点的存储地址D)插⼊、删除运算操作不⽅便

87、下列关于数据的逻辑结构的叙述中,()是正确的。A)数据的逻辑结构是数据间关系的描述

B)数据的逻辑结构反映了数据在计算机中的存储⽅式C)数据的逻辑结构分为顺序结构和链式结构D)数据的逻辑结构分为静态结构和动态结构

88、线性表是⼀个()A)有限序列,可以为空B)有限序列,不能为空C)⽆限序列,可以为空D)⽆限序列,不能为空

89、某线性表采⽤顺序存储结构,每个元素占4个存储单元,⾸地址为100,则第12个元素的存储地址为()A)144B)145C)147D)148

90、若长度为n的线性表采⽤顺序存储结构,那么删除它的第I个数据元素之前,需要它依次向前移动()个数据元素。A)n-IB)n+IC)n-I-1D)n-I+1

91、若长度为n的线性表采⽤顺序存储结构,在第I个位置插⼊⼀个元素,需要它依次向后移动()个数据元素。A)n-IB)n-I+1C)n-I-1D)i

92、向⼀个有127个元素的顺序表中插⼊⼀个新元素并保存,原来顺序不变,平均要移动()个元素。A)8B)63.5C)63D)7

93、线性表中,只有直接前驱⽽⽆后继的元素是()A)尾元素B)⾸元素

C)所有中间的元素D)全部元素

94、线性表L=(a1,a2,…,a n)中,a i+1称为a i的()

A)直接后继B)直接前驱C)孩⼦D)兄弟

95、若事先不知道线性表的长度,则处理线性表时较好的存储结构是()A)单链表B)静态链表C)顺序表D)B)和C)

96、设线性表L=(a1,a2,…,a n),下列关于线性表的叙述正确的是()A)每个元素都有⼀个直接前驱和⼀个直接后继B)线性表中⾄少要有⼀个元素

C)表中元素排列顺序必须按由⼩到⼤或由⼤到⼩

D)除第⼀个和最后⼀个元素外,其余每个元素都有且只有⼀个直接前驱和⼀个直接后继

97、下列所述不是树型结构特点的是()

A)每⼀个结点可以有多个后件,它们都称为该结点的⼦结点B)每个结点有多个前件

C)⼀个结点所拥有的后件个数称为该结点度D)树的最⼤层次称为树的深度

98、设线性表的顺序存储结构中,每个元素占⽤1个存储单元,表的第1个元素的存储地址为d,则第i个元素(1<=i<=n,n为表长)的存储地址为()A)d+(i-1)*1B)d+i*1C)d+(i+1)*1D)d+i*1-1

99、链表表⽰线性表的优点是()A)便于随机存取

B)花费的存储空间⽐顺序表少C)便于插⼊与删除

D)数据元素的物理顺序与逻辑顺序相同

100、线性表采⽤链式存储时,结点的存储地址()A)必须是不连续的B)连续与否均可C)必须是连续的

D)和头结点的存储地址相连续101、⼀维数组与线性表的区别是()A)前者长度固定,后者长度可变B)后者长度固定,前者长度可变C)两者长度均固定D)两者长度均可变

102、线性表的链接实现有利于()A)插⼊运算B)读表元运算C)查找运算D)定位运算

103、线性链表不具有的特点是()A)随机访问

B)不必事先估计所需存储空间⼤⼩C)插⼊与删除时不必移动元素D)所需空间与线性表长度成正⽐

104、若进栈序列为3,5,7,9,进栈过程中可以出栈,则()不可能是⼀个出栈序列。A)7,5,3,9B)9,7,5,3C)7,5,9,3D)9,5,7,3

105、数组Q[0…n-1]⽤来表⽰⼀个环形队列,f为当前队头元素的前⼀个位置,r为队尾元素的位置,假定队列中元素的个数总⼩于n,计算队列中元素个数的公式为()。A)r-fB)n+f-rC)n+r-fD)(n+r-f)mod n

106、4个元素a1,a2,a3和a4依次⼊栈,⼊栈过程中允许栈顶元素出栈,假设某⼀时刻栈的状态是a3(栈顶),a2,a1(栈底),则不可能的出栈序列是()A)a4,a3,a2,a1B)a3,a2,a4,a1C)a3,a1,a4,a2D)a3,a4,a2,a1

107、与数据元素本⾝的形式、内容、相对位置、个数⽆关的是数据的()A)存储结构B)存储实现

C)逻辑实现D)运算实现

108、设⽤⼀数组A[1..n]来存储⼀个栈,令A[n]为栈底,⽤整型变量T指⽰当前栈顶位置,A[T]为栈顶元素。当从栈中弹出⼀个元素时,变量T的变化为()。A)T=T+1B)T=T-1C)T不变D)T=n

109、有6个元素按1,2,3,4,5,6的顺序进栈,下列()不是合法的出栈序列。A)2,3,4,1,6,5B)3,2,4,6,5,1C)4,3,1,2,5,6D)5,4,6,3,2,1

110、⼀个栈的⼊栈序列是a,b,c ,d,e,则栈的不可能的输出序列是()A)e,d,c,b,aB)d,e,c,b,aC)d,c,e,a,bD)a,b,c,d,e

111、设计⼀个判别表达式左、右括号是否配对出现的算法,采⽤()数据结构最佳。A)线性表的顺序存储结构B)栈C)队列

D)线性表的链式存储结构

112、栈的插⼊和删除操作在()进⾏。A)栈顶B)栈底C)任意位置D)指定位置

113、向顺序栈中压⼊新元素时,应当()。A)先移动栈顶指针,再存⼊元素B)先存⼊元素,再移动栈顶指针C)先后次序⽆关紧要D)同时进⾏

114、链式栈与顺序栈相⽐,⼀个⽐较明显的优点是()A)插⼊操作更加⽅便B)通常不会出现栈满的情况

C)不会出现栈空的情况D)删除操作更加⽅便

115、设⼀数列的顺序为1,2,3,4,5,6,通过栈操作可以得到()的输出序列。A)3,2,5,6,4,1B)1,2,3,4,5,6C)6,5,4,3,2,1D)4,5,3,2,6,1

116、设⼀个栈的输⼊序列为A,B,C,D,则借助⼀个栈所得到输出序列不可能是()A)A,B,C,DB)D,C,B,AC)A,C,D,BD)D,A,B,C

117、若⽤⼀个⼤⼩为6的数组来实现循环队列,且当前rear和front的值分别为0和3。从当前队列中删除⼀个元素,再加⼊两个元素后, rear和front的值分别为()。A)1和5B)2和4C)4和2D)5和1

118、由两个栈共享⼀个向量空间的好处是()。A)减少存取空间,降低下溢发⽣的机率B)节省存储空间,降低上溢发⽣的机率C)减少存取空间,降低上溢发⽣的机率D)节省存储空间,降低下溢发⽣的机率

119、设⼀数列的顺序为1,2,3,4,5,6,通过队列操作可以得到()的输出序列。A)3,2,5,6,4,1B)1,2,3,4,5,6C)6,5,4,3,2,1D)4,5,3,2,6,1

120、从⼀个顺序队列中删除元素时,⾸先要()A)前移⼀位队⾸指针B)后移⼀位队⾸指针

C)取出队⾸指针所指位置上的元素D)取出队尾指针所指位置上的元素

121、在⼀个顺序存储的循环队列中,队头指针指向队头元素的()A)前⼀个位置B)后⼀个位置

C)队头元素位置D)队尾元素的前⼀位置

122、两栈共享数组存储空间,前⼀个栈的栈顶指针为p,后⼀个栈的栈顶指针为q,能进⾏正常⼊栈操作的条件是()。A)p<=qB)pC)pD)p=q-2

123、将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为()A)O(1)B)O(n)C)O(m)D)O(m+n)

124、在⼀个单链表中,若q所指结点是p所指结点的前驱,若在q与p之间插⼊⼀个s所指的结点,则执⾏()。A)s->link=p->link;p->link=s;B)p->link=s;s->link=q;C)p->link=s->link;s->link=p;D)q->link=s;s->link=p;

125、下列关于数据结构的叙述中,正确的是()A)数组是同类型值的集合

B)递归算法的程序结构⽐迭代算法的程序结构更为精练C)树是⼀种线性结构

D)⽤⼀维数组存储⼆叉树,总是以先序遍历的顺序存储各个结点126、在⼀个顺序循环队列中,队尾指针指向队尾元素的()位置。A)后两个B)后⼀个C)当前D)前⼀个

127、在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是()A)p=p->next;

B)p->next=p->next->next;C)p->next=p;D)p=p->next->next;

128、在表头指针为head 且表长⼤于1的单向循环链表中,指针 p 指向表中的某个结点,若p->next->next=head,则()A)p指向头结点B)p指向尾结点

C)*p的直接后继是头结点D)*p的直接后继是尾结点

129、单链表中,增加⼀个头结点的⽬的是为了()A)使单链表⾄少有⼀个结点B)标识表结点中⾸结点的位置C)⽅便运算的实现

D)说明单链表是线性表的链式存储130、循环链表的主要优点是()A、不在需要头指针了

B、已知某个结点的位置后,能够容易找到它的直接前驱C、在进⾏插⼊、删除运算时,能更好的保证链表不断开D)从表中的任意结点出发都能扫描到整个链表

131、若(a-b)*(c+d)是中序表达式,则其后序表达式是()A)abcd+ * -B)ab-cd+*C)ab-*cd+D)a-bcd+*

132、设森林F对应的⼆叉树为B,它有m个结点,B的根为P,P的右⼦树上的结点个数为n,森林F中第⼀棵树的结点个数是()A)m-n-1B)n+1C)m-n+1D)m-n

133、在完全⼆叉树中,若⼀个结点是叶结点,则它没()A)坐⼦结点B)右⼦结点

C)左⼦结点和右⼦结点

D)左⼦结点、右⼦结点和兄弟结点

134、设⼆叉树根结点的层次为0,⼀棵深度为k的满⼆叉树和同样深度的完全⼆叉树各有f个结点和c个结点,下列关系不正确的是()。A)F>=CB)c>fC)f=2k+1-1D)c>2k-1

135、有⼀棵⾮空⼆叉树(第0层为根结点),其第i层上⾄多有()个结点。A)2i B)2i-1 C)2i+1-1 d)i

136、在下列存储形式中,()不是树的存储形式。A)双亲表⽰法B)孩⼦表⽰法C)孩⼦兄弟表⽰法D) 顺序存储表⽰法

137、对⼆叉树中的⼀个结点x在先根序列中的序号为pre(x),在后根序列中的序号为post(x),若⼆叉树中结点x 是结点y 的祖先,下列4个条件()正确。A)pre(x)B) pre(x)post(y)

C) pre(x)>pre(y)和post(x)D) pre(x)>pre(y)和post(x)>post(y)

138、在树T中,结点X的深度为K(k。1),结点Y是结点X的最右边⼀个⼦⼥,在与树T对应的⼆叉树中,下列结论成⽴的是()

A)Y⼀定是X的左⼦⼥B)Y⼀定是X的右⼦⼥C)Y的左⼦树⼀定是空⼆叉树D)Y的右⼦树⼀定是空⼆叉树

139、对⼀棵70个结点的完全⼆叉树,它有()个⾮叶结点。A)35 B)40 C)30 D)44

140、如果T2是由有序树T转换⽽来的⼆叉树,那么T中结点的后序就是T2中结点的()A)前序B)中序C)后序D)层次序

141、字符A、B、C依次进⼊⼀个栈,按出栈的先后顺序组成不同的字符串,则⾄多可以组成()个不同的字符串。A)14 B)5 C)6 D)8

142、

A)E 、G、F、A、C、D、BB)E、A、G、C、F、B、DC)E、A、C、B、D、G、FeD)E、G、A、C、D、F、B143、

A)A、B、C、D、E、G、FB)E、A、G、C、F、B、DC)E、A、C、B、D、G、FD)B、D、C、A、F、G、E

144、在具有n个结点的⼆叉链表中,⾮空的链域个数为()A)n-1

B)2n-1C)n+1D)2n+1A)填空题:

1、数据的逻辑结构包括()和⾮线性结构。

2、线性结构中元素之间存在着()关系,树型结构中元素之间存在着()关系。3、在单链表中设置头结点的作⽤是()。

4、访问单链表中的结点,必须沿着()依次进⾏。

5、 在双向链表中,每个结点有两个指针域,⼀个指向( ),另⼀个指向( )。6、 在⼀个单链表中的p 所指向结点之前插⼊⼀个s 所指的结点时,可以执⾏如下操作:(1)s->next= ;(2)p->next=s;(3)t=p->data;(4)p->data= ;(5)s->data= ;

7、 栈和队列的区别在于( )。8、 通常元素进栈的顺序是( )。9、 通常元素出栈的顺序是( )。

10、 从⼀个循环队列中删除⼀个元素,通常的操作是( )。11、 向⼀个循环队列中插⼊⼀个元素,通常的操作是( )。

12、 对于长度为n 的顺序存储的线性表,当随机插⼊和删除⼀个元素时,需平均移动元素的个数为( )。

13、 设栈S 的初始状态为空,队列Q 的初始状态如图所运⽰:

对栈S 和队列Q 进⾏以下两步操作:

1. 删除Q 中的元素,将删除的元素插⼊S ,直到Q 为空;2. 依次将S 中的元素插⼊Q ,直到S 为空。在上述两步操作后,队列Q 的状态是( )。

14、 设树T 的度为4,其中度为1,2,3和4则T 中叶⼦结点的个数为( )。 15、 有⼀棵树如图所⽰,回答下⾯的问题:

(1) 这棵树的根结点是( )。(2) 这棵树的叶⼦结点是( )。(3) 结点k3的度是( )。(4) 这棵树的度为( )。

(5) 这棵树的深度是( )。(6) 结点k3的孩⼦结点是( )。(7) 结点k3的双亲结点是( )。

16、 针对线性链表的基本操作有很多,但其中最基本的4种操作分别为( )、删除、查找和排序。

17、 树和⼆叉树的3个主要差别( );树中的最⼤度数没有限制,⽽⼆叉树结点的最⼤度数为2;树的结点⽆左右之分,⽽⼆叉树的结点有左右之分。18、 从概念上说,树与⼆叉树是两种不同的数据结构,通过某种算法将树转化成⼆叉树的基本⽬的是( )。

19、 深度为k 的完全⼆叉树⾄少有( )个结点,⾄多有( )个结点,若按⾃上⽽下,从左向右的次序编号(从1开始),则编号最⼩的叶⼦结点的编号是()。20、在⼀棵⼆叉树中,叶⼦结点的个数为n0,度为2的结点的个数为n2,则有n0=()。

21、结点最少的树为(),结点最少的⼆叉树为()。22、现有按中序遍历⼆叉树的结果为abc

得到这⼀遍历结果。

23、如图所⽰的⼆叉树,回答下⾯问题:(1)其中序遍历序列为(2)其先序遍历序列为(3)其后序遍历序列为

24、设⼆叉树根结点的层次为0,对含有最⼩树深分别是()和()。25、数据的基本单位是()。

26、数据结构研究的主要内容包括()、()、数据元素之间的联系三⽅⾯。27、从逻辑结构上讲,数据结构主要分为两⼤类,它们是()和()。28、⼀个数据结构在计算机中的表⽰(映象)称为。

29、数据的逻辑结构被分为()、线性结构、树型结构和图形结构四种。30、数据的存储结构主要分为()和()。

31、在线性结构和树型结构中,前驱结点和后继结点之间分别存在着()和()的联系。

32、算法的5个重要特性是:输⼊、输出、正确性、确定性和()。33、算法的复杂度分为()和()两种。

34、算法的时间复杂度取决于()和待处理的数据的初态。

35、若⼀个算法中的语句频度之和为T(n)=4nlog2n,则算法的时间复杂度

为。

36、逻辑结构通常可以⽤⼀个⼆元组B=(K,R)来表⽰,其中K表⽰(),R表⽰()。

37、线性表中()称为表的长度。

38、如果向⼀个长度为n的顺序表中的第I个元素(0<=I<=n-1)之前插⼊⼀个元素,需向后移动()个元素。

39、在⼀个长度为n的顺序表中删除表中的第I个元素(0<=I<=n-1)时,需向前移动()个元素。

40、栈⼜称为()表,队列⼜称为()表。41、栈中元素的进出原则是()。42、队列中元素的进出原则是()。

43、⼀个栈的输⼊序列是12345,则栈的输出序列43512是()。44、从循环队列中删除⼀个元素时,通常的操作是()。45、向循环队列中插⼊⼀个元素时,通常的操作是()。

46、在单链表中,要删除某⼀指定的结点,必须找到该结点的()。47、在⾮循环的()链表中,可以⽤表尾指针代替表头指针。

48、在线性表的单链接存储结构中,每个结点都包含有两个域,⼀个域叫做()域,另⼀个叫做()域。

49、在线性表的链式存储结构中,我们通常讲的头指针与头结点的根本区别是:头

结点是加在线性表的()元素所在结点之前的⼀个附设结点,⽽头指针是链表中第⼀个结点的地址变量;头结点与⾸元素结点的关系是若有头结点的单链表不为空,则头结点的指针域的值就是⾸元素结点的地址。50、针对线性表的基本操作有很多,但其中最基本的四种操作分别为插⼊、删除、查找和()操作。

51、线性表的顺序存储结构是通过()来直接反映数据元素之间的逻辑关系,⽽链式存储结构是通过()来间接反映数据元素之间的逻辑关系。

52、若对线性表进⾏的操作主要不是插⼊和删除,则该线性表宜采⽤()存储结构;若频繁地对线性表进⾏插⼊和删除操作,则该线性表宜采⽤()存储结构。53、顺序表中逻辑上相邻的元素的物理位置()紧邻。单链表中逻辑上相邻的元素的物理位置()相邻。

54、线性表的链式存储结构主要包括单链表、()和( )三种形式。

55、循环单链表与⾮循环单链表的主要不同是循环单链表的尾结点指针(),⽽⾮循环单链表的尾结点指针()。

56、对于顺序存储的栈,因为栈的空间是有限的,在进⾏()运算时,可能发⽣栈的上溢;在进⾏()运算时,可能发⽣栈的下溢。

57、当堆栈采⽤顺序存储结构时,栈顶元素的值可⽤()表⽰;当堆栈采⽤链式存储结构时,栈顶元素的值可⽤()表⽰。

58、若已知⼀个栈的⼊栈顺序是1,2,3,……,n,其输出序列为p1,p2,p3,……,p n,若p1=n,则p i(1

59、向⼀个链栈插⼊⼀个p所指向的结点时,需要把栈顶指针的值赋给p所指向的结点的(),然后把p赋给()。

60、在线性表的单链接存储中,若⼀个元素所在结点的地址为p,则其直接后继结点的地址为();若假定p为⼀个数组a中的下标,则其直接后继结点的下标为()。61、当⽤长度为N的数组顺序存储⼀个栈时,假定⽤top=N表⽰栈空,则表⽰栈满的条件为()。

62、在⽤⼀维数组A[N]存储⼀个顺序循环队列时,若队列的⾸、尾指针分别⽤f和r表⽰,则队列长度为。

63、假设以S和X分别表⽰进栈和退栈操作,则对输⼊序列a,b,c,d,e进⾏⼀系列栈操作SSXSXSSXXX之后,得到的输出序列为()。

64、对于⼀个长度为n的顺序存储的单链表,在表头插⼊元素的时间复杂度为(),在表尾插⼊元素的时间复杂度为()。

65、在⼀个有头结点的单循环链表中,p指向尾结点的直接前驱,则指向头结点的指针head可⽤p表⽰为head= 。

66、⽤数组A[1…N]顺序存储完全⼆叉树的各结点,则当I<=(n-1)/2时,结点A[I]的右⼦⼥是结点()。

67、线性表的逻辑顺序与存储顺序总是⼀致的,这种说法是的(填正确或错误)。

因篇幅问题不能全部显示,请点此查看更多更全内容