选择题:
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、线性表的逻辑顺序与存储顺序总是⼀致的,这种说法是的(填正确或错误)。
因篇幅问题不能全部显示,请点此查看更多更全内容