《数据结构与算法》试卷与答案3

广州大学学年第学期考试卷

课程数据结构与算法考试形式(闭卷,考试)

信息学院系专业级班学号:姓名:

一、填空题:(每格2分,共20分)

1.在双向循环链表中,设指针p指向待删除的结点,则删除结点p需执行的语句为_________________ 。

2.由a, b, c三个结点构成的二叉树,共有种不同的结构。

3.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为。

4.克鲁斯卡尔的时间复杂度为;它对图较为适合。

5.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为。

6.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为。

7.已知8个数据元素由(35,75,40,15,20,55,95,65)按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为

8.假设有n个关键字,它们具有相同的Hash函数值,用线性探测方法解决冲突,把这n个关键字散列到大小为n的地址空间中,共计需要做次插入和探测操作。

9.如果含n个顶点的图形成一个环,则它有颗生成树。

10.对有17个元素的有序表A[1..17]作二分查找,在查找其等于A[8]的元素时,

被比较的元素的下标依次是。

二、单项选择题(每题1分,共10分)

1.()线性表采用链式存储时,其地址是()

A.必须是连续的

B.一定是不连续的

C.部分地址必须是连续的

D.连续与否均可以

2.()串的逻辑结构与()的逻辑结构不同

A.线性表

B.栈

C.队列

D.树

3.()设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为

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

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

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

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

4.()设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占一个存储空间,则a85的地址为

A.13

B.33

C.18

D.40

5.()二叉树在线索化后,仍不能有效求解的问题是

A.前(先)序线索二叉树中求前(先)序后继;

B.中序线索二叉树中求中序后继;

C.中序线索二叉树中求中序前趋;

D.后序线索二叉树中求后序后继。

6.()如果结点A有3个兄弟,而且B为A的双亲,则B的度为A. 3

B. 4

C.5

D.1

7.()设有100个元素,用二分法查找时,最大比较次数是

A.25

B.7

C.10

D.1

8.()快速排序在()情况下最不利于发挥其长处

A.被排序的数据量太大

B.被排序的数据中含有多个相同的关键字

C.被排序的数据完全无序

D.被排序的数据已基本有序

9.()判定一个有向图是否存在回路,除了可以利用拓扑排序外,还可以利用

A.求关键路径的方法

B.求最短路径的Dijkstra方法

C.深度优先遍历算法

D.宽度优先遍历算法

10.()对于含有个n顶点e条边的无向连通图,利用Prim算法生成最小代价生成树其时间复杂度为(),利用Kruskal时间复杂度为()A.O(log2n)

B.O(n2)

C.O(ne)

D.o(elog2e)

三、判断题(在括号内填上“√”或“╳”,每题1分,共10分,做错不倒扣)1()具有线性序关系的集合中,若a,b是集合中的任意两个原子,则必定有a

2()对任意一个图,从它的某个顶点出发进行一次深度优先或广度优先搜索遍历可访问到该图的每个顶点。

3()一个满二叉树同时又是一棵平衡树。

4()任一AOE网中至少有一条关键路径,且是从源点到汇点的路径中最长的一条。

5()只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。

6()删除二叉排序树中一个结点,再重新插入上去,一定能得到原来的二叉排序树。

7()对一个堆按层次遍历,不一定能得到一个有序序列。

8()在索引顺序表查找方法中,对索引顺序表可以使用顺序表查找方法,也可以使用二分查找方法。

9()双循环链表中,任一结点的前驱指针均为不空。

10()哈希表的查找效率主要取决于哈希建表时所选取的哈希函数和处理冲突的方法。

四、画图/计算/证明/应用题(30分)

(1) (6分)

试说明是否存在这样的二叉树,可以实现后序线索树进行后序遍历时不使用栈?对前序线索二叉树进行前序遍历时,什么样的二叉树可不使用栈?

(2)解答下面的问题(6分)

(1) 求网的最小生成树有哪些算法?各适用何种情况?为什么? (2) 由以下的网络邻接矩阵,画出一棵最小生成树

⎥⎥

⎥⎥⎥⎥⎦

⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡∞∞∞∞

∞∞∞∞∞∞

∞∞∞

∞∞∞3415341915191112722

20116127617222017

(3)已知一棵非空二叉树,其按中根和后根遍历的结果分别为:中根:CGBAHEDJFI 后根:GBCHEJIFDA

试将这样的二叉树构造出来。若已知先根和后根的遍历结果,能否构造出这棵二叉树,为什么?5分

(4)对于如图所示的事件结点网络,求出各活动可能的最早开始时间和允许的最晚完成时间,并问哪些活动是关键活动?(6分)

(5)已知某字符串S共有8种字符,各种字符分别出现2次、1次、4次、5次、7次、3次、4次和9次,对该字符串用{0,1}进行前缀编码,问该字符串的编码至少有多少位?(7分)

五、程序填空题(20分)

(1)读程序,分析其时间复杂度:4分

m=91;

n=100;

while(n>0)

if (m>0)

{ m=m-10;

n=n-1;

}

else m=m+1;

此程序的时间复杂度是。

(2)以下程序为求二叉树深度的递归算法,请填空完善之6分typedef struct node

{ char data;

struct node lchild, rchild;

} *bitree;

int depth(bitree bt) /* bt为根结点的指针*/

{ int hl, hr;

if (br==NULL) return ( );

hl=depth (bt->lchild);

hr=depth (bt->rchild);

if ( )

return (hr+1);

}

(3)已知N元整型数组a 存放N个学生的成绩,已按由大到小排序,以下算法是用折半查找方法统计成绩大于或等于x分的学生人数,请填空完善之。6分

# define N /*学生人数*/

int uprx( int a[N], int x) /*函数返回大于或等于x分的学生人数*/

{

int head, mid, rear;

do {

mid=(head+rear)/2;

if (x<=a[mid])

else ;

} while( );

if (a[head]

return head;

}

(4)简述以下算法的功能:4分

void BB(LNode *s, LNode *q)

{ p=s;

while (p->next!=q) p=p->next;

p->next=s;

}

void AA(LNode *pa, LNode *pb)

{ // pa和pb分别指向单循环链表中的两个结点

BB(pa,pb);

BB(pb,pa);

}

六、试设计将数组A[0..n-1]中所有奇数移到所有偶数之前的算法,要求不另增

加存储空间,且时间复杂度为O(n)(10分)

试卷答案

一、填空题:(每格2分,共20分)

1.p->prior->next=p->next ,p->next->prior=p->prior 。

2.5 。

3.⎣⎦1

+。

n

log

2

4.O(elog2e) ;稀疏。

5.(31,38,44,56,75,80,55,63)或(80,75,55,56,63,44,31,38)。

6.129 。

7. 2

8.n(n+1)/2

9.n

10.9,4,6,7,8

二、单项选择题(每题1分,共10分)

1.( D )

2.( D )

3.( B )

4.( B )

5.( D )

6.( D )

7.( B )

8.( D )

9.( C )

10.(BD )

三、判断题

1(F )

2(F )

3(F )

4(T )

5(F )

6(F )

7(T )

8(T )

9(T )

10(T )

四、画图/计算/证明/算法分析(30分)

(1)(6分)

解:对后序线索二叉树进行后序遍历的过程,即为不断找后继的过程,而后继遍历是按“左右根”的次序访问结点的。除根之外的其余结点,其后继要么是双亲结点,要么是其右子树中的结点,要访问到其后继,若无线索信息,则必须用栈。所以,后序线索二叉树进行后序遍历时,除根结点外,只有无右子树的二叉树才不使用栈。而在前序线索二叉树进行前序遍历时,任一结点的后继要么为后继线索指向的结点(无右子树)要么为其左儿子或右儿子,无须使用栈。

(2)解答下面的问题(6分)

解(1):求网的最小生成树时可使用Prim算法,此算法适用于边较多的稠密图;也可使用Kruskual算法,此算法适用于边较少的稀疏图。

(2):一棵最小生成树如图所示:

(3)

解:

由中根和后根所确定的二叉树如图所示

前根序列和后根序列不能唯一确定一棵二叉树。因为根据中根序列,结合前根或后根序列可以把二叉树区分出左右子树来。而前根序列和后根序列访问左右子树是顺序连在一起的,故无法区分出左右子树来,那么也就无法确定一棵二叉树了。

(4)

解:求解过程见下表:

顶点ve v1 活动 e 1 1-e

v1 0 0 a1 0 0 0

v2 4 4 a2 0 3 3

v3 6 6 a3 4 4 0

v4 10 10 a4 6 6 0

a5 4 4 0 a1,a3,a4,a5是关键活动。关键路径有两条:v1,v2,v4和v1,v2,v3,v4

(5)

解:5*1+5*2+4*3+3*4+3*4+3*5+9*2+7*2=98位

五、程序填空题

(1)O(n) 。

(2)typedef struct node

{ char data;

struct node lchild, rchild;

} *bitree;

int depth(bitree bt) /* bt为根结点的指针*/

{ int hl, hr;

if (br==NULL) return ( 0 );

hl=depth (bt->lchild);

hr=depth (bt->rchild);

if ( hl>hr ) return(hl+1)

return (hr+1);

}

(3)

# define N /*学生人数*/

int uprx( int a[N], int x) /*函数返回大于或等于x分的学生人数*/ {

int head, mid, rear;

do {

mid=(head+rear)/2;

if (x<=a[mid])

head=mid+1

else rear=mid-1 ;

} while( head>rear );

if (a[head]

return head;

}

六、编写算法(10分)

设数据放在一个数组A[0..N-1]中,i和j分别从数组的第一个和最后一个元素开始向中间搜索

int oddbefore(A,n)

int A[ ];

{

int c, i, j;

i=0; j=n-1;

while (i

{

while ((A[i] % 2 = = 1 ) && (i

i++;

while ((A[i] % 2 = = 0 ) && (i

j--;

if (i

{

c=A[i];

A[i]=A[j];

A[j]=c;

i++;

j--;

}

}

return (1);

}

数据结构与算法 模拟试卷三四及参考答案

模拟试卷三 一、单选题(每题 2 分,共20分) 1.对一个算法的评价,不包括如下()方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5.AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。 A.行号B.列号C.元素值D.非零元素个数 9.快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、运算题(每题 6 分,共24分) 1.数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N) 的联系时,称这种结构为_____________________。 2.队列的插入操作是在队列的_________进行,删除操作是在队列的__________进行。 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件 是_____________________。 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________, 在表尾插入元素的时间复杂度为____________。 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j 从0到3 ,则二维数组W的数据元素共占用_______个字节。W中第6 行的元素和第4 列的元素共占用_________个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。 7.二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结 点的度的总和是_____________。 8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由 算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的

《数据结构与算法》期末练习题3

数据结构与算法 一选择题 1.算法的计算量的大小称为计算的()。 A.效率 B. 复杂性 C. 现实性 D. 难度 2.下面说法错误的是() (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 3. 连续存储设计时,存储单元的地址()。 A.一定连续B.一定不连续C.不一定连续D.部分连续,部分不连续 4. 下述哪一条是顺序存储结构的优点?() A.存储密度大B.插入运算方便C.删除运算方便D.可方便地用于各种逻辑结构的存储表示 5.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。 A.顺序表B.双链表C.带头结点的双循环链表D.单循环链表 6.下面的叙述不正确的是() A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关 C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比 D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关 7.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1<=i<=n+1)。 A. O(0) B. O(1) C. O(n) D. O(n2) 8.双向链表中有两个指针域,llink和rlink,分别指回前驱及后继,设p指向链表中的一个结点,q指向一待插入结点,现要求在p前插入q,则正确的插入为()(^.相当于—>) A. p^.llink:=q; q^.rlink:=p; p^.llink^.rlink:=q; q^.llink:=p^.llink; B. q^.llink:=p^.llink; p^.llink^.rlink:=q; q^.rlink:=p; p^.llink:=q^.rlink; C. q^.rlink:=p; p^.rlink:=q; p^.llink^.rlink:=q; q^.rlink:=p; D. p^.llink^.rlink:=q; q^.rlink:=p; q^.llink:=p^.llink; p^.llink:=q; 9.下列排序算法中,其中()是稳定的。 A) 堆排序,冒泡排序B) 快速排序,堆排序 C) 直接选择排序,希尔排序D) 归并排序,冒泡排序 10.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为 (1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84 则采用的排序是( )。 A) 选择B) 冒泡C) 快速D) 插入 11.双向链表中有两个指针域,llink和rlink分别指向前趋及后继,设p指向链表中的一个结点,现要求删去p 所指结点,则正确的删除是()(链中结点数大于2,p不是第一个结点) A.p^.llink^.rlink:=p^.llink; p^.llink^.rlink:=p^.rlink; dispose(p); B.dispose(p); p^.llink^.rlink:=p^.llink; p^.llink^,rlink:=p^.rlink; C.p^.llink^.rlink:=p^.llink; dispose(p); p^.llink^.rlink:=p^.rlink; D.以上A,B,C都不对。 12.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是() A)CABDEFG B) BCDAEFG C) DACEFBG D) ADBCFEG 13. 设一个栈的输入序列是1,2,3,4,5,则下列序列中,是栈的合法输出序列的是()。 A) 5 1 2 3 4 B) 4 5 1 3 2 C) 4 3 1 2 5 D) 3 2 1 5 4 14. 若一个栈的输入序列为1,2,3,…,n,输出序列的第一个元素是i,则第j个输出元素是()。

数据结构与算法-考试范围题与答案like

数据结构与算法考试参考题 专业:计算机科学与技术13年 一、单选(30分) 1.在数据结构中,数据的逻辑结构可分(B.线性结构和非线性结构) 2.在以单链表为存储结构的线性表中,数据元素之间的逻辑关系用(C.指向后继元素的指针表示) 3.设p指向单链表中的一个结点。S指向待插入的结点,则下述程序段的功能是(D.在结点*p之前插入结点*s) s->next=p->next; p->next=s! t=p->data; p->data=s->data; s->data=t; B.在p所指结点的元素之前插入元素D.在结点*p之前插入结点*s 4. 栈和队列都是(C:链式存储的线性结构) A:限制存取位置的线性结构B:顺序存储的线性结构 C:链式存储的线性结构D:限制存取位置的非线性结构 5.下列关于线性表的基本操作中,属于加工型的操作是(B初始化、插入、删除操作) 6.根据定义,树的叶子结点其度数(B.必等于0) 7.多维数组之所以有行优先顺序和列优先顺序两种存储方式是因为(A.数组的元素处在行和列两个关系中) 8.从广义表LS=((p,q),r,s)中分解出原子q的运算是(B. head(tall(head (LS))) 9.在具有n个叶子结点的满二叉树中,结点总数为(C. 2n-1) 10.若是有向图的一条边,则称(D. Vi与Vj不相邻接) 11.二叉树若采用二叉链表结构表示,则对于n个结点的二叉树一定有(B. 2n个指针域其中n+1个指针为NULL) 12.在一个无向图中,所有顶点的度数之和等于边数的(B. 2倍) 13. 一个含n个顶点和e条弧的有向图以邻接矩阵表示法为存储结构,则计算该有向图中某个顶点出度的时间复杂度为(A.O(n)) 14.散列法存储中出现的碰撞(冲突)现象指的是(B.不同关键码值对应到相同的存储地址) 15.循环链表适合的查找方式是(A. 顺序) 二、填空(20分) 1.若一棵完全二叉树中含有121个结点,则该树的深度为(7) 2.若以邻接矩阵表示有向图,则邻接矩阵上第i行中非零元素的个数之和即为顶点Vi的 。 3.二叉树的遍历主要有先序遍历、后序遍历和(中序遍历)三种。 4.深度为3的完全二叉树至少有(4)个结点。 5.若图的邻接矩阵是一个对称矩阵,则该图一定是一个(无向图) 6.若某无向图G的邻接表如下图所示,试给出以顶点V3为出发点,按广度优先搜索所产生的结点序列(V3-2V1-V4-V5 ) 7.在无向图中,若从顶点a到顶点b存在(路径),则称a与b之间是连通的。 8.我们通常把队列中允许删除的一端称为(队头) 9.表头和表尾均为(a,(b,c))的广义表L=() 10.假定对有序表:(3.4.5.7.24.30.42.54.63.72.87.95)进行折半查找,若查找元素24(程序设定为向下取整),需依次与(30.5.7.24)元素进行比较。 三、解答(50分) 1.二维数组A[10.20]采用按行为主序的存储方式,每个元素占4个存储单元,若A[1.1]的存储地址为300,则请算A[10,10]的存储地址。 答:300+(9*20+10)*

北航16秋(算法与数据结构)作业3答案100分

北航《算法与数据结构》在线作业三 一、单选题(共25 道试题,共100 分。) 1. 对下面四个序列用快速排序的方法进行排序,以序列的第一个元素为基础进行划分。在第一趟划分过程中,元素移动次数最多的序列是()。 A. 82,75,70,16,10,90,68,23 B. 23,10,16,70,82,75,68,90 C. 70,75,68,23,10,16,90,82 D. 70,75,82,90,23,16,10,68 正确答案:D 2. 设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为()。 A. 3,2,5,6,4,1 B. 1,5,4,6,2,3 C. 2,4,3,5,1,6 D. 4,5,3,6,2,1 正确答案:B 3. 线性表是一个具有n个()的有限序列。 A. 表元素 B. 字符 C. 数据元素 D. 数据项 正确答案:C 4. 链表不具有的特点是()。 A. 不必事先估计存储空间 B. 可随机访问任一元素 C. 插入删除不需要移动元素 D. 所需空间与线性表长度成正比 正确答案:B 5. 对于线性表基本运算,以下结果是正确的是 A. 初始化INITIATE(L),引用型运算,其作用是建立一个空表L=Ф B. 求表长LENGTH(L),引用型运算,其结果是线性表L的长度 C. 读表元GET(L,i), 引用型运算。若1<=i<=LENGTH(L),其结果是线性表L的第i个结点;否则,结果为0 D. 定位LOCATE(L,X), 引用型运算.若L中存在一个或多个值与X相等的结点,运算结果为这些结点的序号的最大值;否则运算结果为0 正确答案:B 6. 队列的插入操作是在()进行。 A. 队首 B. 队尾 C. 队前

数据结构习题及答案 (3)

第九章排序 一、选择题 1.在所有排序方法中,关键字比较的次数与记录得初始排列次序无关的是() (A)希尔排序(B)起泡排序(C)插入排序(D)选择排序 参考答案:D 2.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好()排序法。 (A)起泡排序(B)快速排序(C)堆排序(D)基数排序 参考答案:C 3.在待排序的元素序列基本有序的前提下,效率最高的排序方法是() (A)插入排序(B)选择排序(C)快速排序(D)归并排序 参考答案:A 4.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始推为()。 (A)79,46,56,38,40,80 (B)84,79,56,38,40,46 (C)84,79,56,46,40,38 (D)84,56,79,40,46,38 参考答案:B 5.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。 (A)38,40,46,56,79,84(B)40,38,46,79,56,84 (C)40,38,46,56,79,84(D)40,38,46,84,56,79 参考答案:C 6.一组记录的排序码为(25,48,16,35,79,82,23,40,36,72),其中含有5个长度为2 的有序表,按归并排序的方法对该序列进行一趟归并后的结果为()。 (A)16,25,35,48,23,40,79,82,36,72(B)16,25,35,48,79,82,23,36,40,72 (C)16,25,48,35,79,82,23,36,40,72(D)16,25,35,48,79,23,36,40,72,82 参考答案:A 7.排序方法中,从未排序序列中依次取出元素与己排序序列(初始时为空)中的元素进行比较,将其放入己排序序列的正确位置上的方法,称为() (A)希尔排序(B)起泡排序(C)插入排序(D)选择排序

《数据结构与算法》试卷与答案3

广州大学学年第学期考试卷 课程数据结构与算法考试形式(闭卷,考试) 信息学院系专业级班学号:姓名: 一、填空题:(每格2分,共20分) 1.在双向循环链表中,设指针p指向待删除的结点,则删除结点p需执行的语句为_________________ 。 2.由a, b, c三个结点构成的二叉树,共有种不同的结构。 3.设根结点处在第一层,那么具有n个结点的完全二叉树,其高度为。 4.克鲁斯卡尔的时间复杂度为;它对图较为适合。 5.给定表(55,63,44,38,75,80,31,56),用筛选法建立初始堆,则初始堆表为。 6.已知二叉树中叶子数为50,仅有一个孩子的结点数为30,则总结点数为。 7.已知8个数据元素由(35,75,40,15,20,55,95,65)按照依次插入结点的方法生成一棵二叉排序树后,最后两层上的结点总数为 8.假设有n个关键字,它们具有相同的Hash函数值,用线性探测方法解决冲突,把这n个关键字散列到大小为n的地址空间中,共计需要做次插入和探测操作。 9.如果含n个顶点的图形成一个环,则它有颗生成树。 10.对有17个元素的有序表A[1..17]作二分查找,在查找其等于A[8]的元素时,

被比较的元素的下标依次是。 二、单项选择题(每题1分,共10分) 1.()线性表采用链式存储时,其地址是() A.必须是连续的 B.一定是不连续的 C.部分地址必须是连续的 D.连续与否均可以 2.()串的逻辑结构与()的逻辑结构不同 A.线性表 B.栈 C.队列 D.树 3.()设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为 A.3,2,5,6,4,1 B.1,5,4,6,2,3 C.2,4,3,5,1,6 D.4,5,3,6,2,1 4.()设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一个元素,其存储地址为1,每元素占一个存储空间,则a85的地址为 A.13 B.33 C.18 D.40 5.()二叉树在线索化后,仍不能有效求解的问题是 A.前(先)序线索二叉树中求前(先)序后继; B.中序线索二叉树中求中序后继; C.中序线索二叉树中求中序前趋; D.后序线索二叉树中求后序后继。 6.()如果结点A有3个兄弟,而且B为A的双亲,则B的度为A. 3 B. 4 C.5 D.1 7.()设有100个元素,用二分法查找时,最大比较次数是 A.25 B.7

数据结构与算法练习试卷3

数据结构与算法练习试卷3 (总分:56.00,做题时间:90分钟) 一、选择题(总题数:27,分数:56.00) 1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。 __________________________________________________________________________________________ 解析: 2.以下关于顺序存储结构的叙述中,哪一条是不正确的?______。 (分数:2.00) A.存储密度大 B.逻辑上相邻的节点物理上不必邻接√ C.可以通过计算直接确定第i个节点的存储地址 D.插入、删除运算操作不方便 解析: 3.单键表的每个节点中包括一个指针link,它指向该节点的后继节点。现要将指针q指向的新节点插入到指针p指向的单链表节点之后,下面的操作序列中哪一个是正确的?______。 (分数:2.00) 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; 解析: 4.设有下三角矩阵A[0..10,0..10],按行优先顺序存放其非零元素,每个非零元素占两个字节,存放的基地址为100,则元素A[5,5]的存放地址为______。 (分数:2.00) A.110 B.120 C.130 D.140 √ 解析: 5.栈S最多能容纳4个元素。现有6个元素按A、B、C、D、E、F的顺序进栈,下列哪一个序列不是可能的出栈序列? ______。 (分数:2.00) A.A、D、E、C、B、F B.A、F、E、D、C、B √ C.C、B、E、D、A、F D.C、D、B、F、E、A 解析: 6.霍夫曼算法可以用于______。 (分数:2.00) A.动态存储管理 B.表达式求值 C.数据通信的二进制编码√ D.城市间的交通网设计 解析:

数据结构试题 试卷三 含答案

模拟试题三 模拟试题三 一、选择题(30分) 1.下面程序的时间复杂度为( )。 for(i=O;i c[i][j]=c[i][j]+a[i][k]b[k][j]; A) O (mnt) B)0(m+n+t) C) O(m+nt) D)O(mt+n) 2.从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动( )个元素。 A) n-i B) n-i+l C) n-i-l D)i 3.串的逻辑结构与( )的逻辑结构不同。 A)线性表 B)栈 C)队列 D)树 4.二叉树第i(i≥1)层最多有( )个结点。 A) 2i B) 2i C) 2i-l D) 2i-1 5.设单链表中指针p指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为( )。 A) p->next=p->next->next B) p=p->next C) p=p->next->next D)p->next=p 6.设一数列的输入顺序为l,2,3,4,5,6,通过栈操作不可能排成的输出序列为( )。 A)3,2,5,6,4,l B)l,5,4,6,2,3 C)2,4,3,5,l,6 D)4,5,3,6,2,l 7。设字符串Sl=‘ABCDEFG’,S2=‘PQRST’,则运算S=Concat(Sub(S1,2,Length(S 2))Sub(S1,Length(S2),2))后结果为( )。 A)‘BCQR' B)‘BCDEF' C)‘BCDEFG' D)‘BCDEFEF' 8.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,all为第1个元素,其存储地址为1,每个元素占用1个地址空间,则a85的地址为( ) A) 13 B) 33 C) 18 D) 40 9.如果结点A有3个兄弟,且B为A的双亲,则B的度为( )。 A)3 B)4 C)5 D)1 10.线索化二叉树中某结点D,没有左孩子的主要条件是( )。 A) D->Lchild=NULL B) D->ltag=l C) D->Rchild=NULL D)D->ltag=0 11.采用顺序查找法查找长度为n的线性表,则查找每个元素的平均比较次数为( )。 A)n B) n/2 C) (n+l)/2 D)(n-l)/2 12.已知一个有序表为(13,18,24,35,47,50,62,83,90,115,134),当二分查找值为90的元素时,需( )次比较可查找成功。 A)l B)2 C)3 D)4 13.在顺序存储的线性表R[029]上进行顺序查找的平均查找长度为(①);进行二分查找的平均查找长度为(②),进行分块查找(设分为5块)的平均查始长度为(⑨)。

数据结构与算法复习题库含答案

数据结构复习题 第一章概论 一、选择题 1、研究数据结构就是研究( D )。 A. 数据的逻辑结构 B. 数据的存储结构 C. 数据的逻辑结构和存储结构 D. 数据的逻辑结构、存储结构及其基本操作 2、算法分析的两个主要方面是( A )。 A. 空间复杂度和时间复杂度 B. 正确性和简单性C. 可读性和文档性 D. 数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。 A. 图 B. 树 C. 广义表 D. 栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。 A. 可执行性、可移植性和可扩充性 B. 可执行性、有穷性和确定性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 fori0;im;i++ forj0;jn;j++ a[i][j]i*j; A. Om2 B. On2 C. Om*n D. Om+n 6、算法是( D )。

A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示( C )。 A. On B. Onlog2n C. On2 D. Olog2n 8、下面程序段的时间复杂度为( C )。 i1; whilein ii*3; A. On B. O3n C. Olog3n D. On3 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。 A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是( A )。 is0; whilesn i++;s+i; A. On B. On2 C. Olog2n D. On3 11、抽象数据类型的三个组成部分分别为( A )。 A. 数据对象、数据关系和基本操作 B. 数据元素、逻辑结构和存储结构 C. 数据项、数据元素和数据类型 D. 数据元素、数据结构和数据类型 12、通常从正确性、易读性、健壮性、高效性等4个方面评价算法的质量,以下解释错误的是(D)。

算法与数据结构习题三(答案)

习题三 一、选择题 l.一个栈的序列是:a,b,c,d,e,则栈的不可能输出的序列是(C)。 A.a,b,c,d,e B.d,e,c,b,a C.d,c,e,a,b D.e,d,c,b,a 2.若一个栈的输人序列是1,2,3,…,n,输出序列的第一个元素是n,则第k个输出元素是(C)。 A.k B.n-k-1 C.n-k+1 D.不确定 3.判定一个栈S(最多有n个元素)为空的条件是(B )。 A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n 4.判定一个栈S(最多有n个元素)为满的条件是(D )。 A.S->top!=0 B.S->top= =0 C.S->top!=n D.S->top= =n 5.向一个栈顶指针为top的链栈中插人一个*S结点的时候,应当执行语句( B )。 A.top->next=S;B.S->next=top;top=S; C.S->next=top->next;top->next=S;D.S->next=top;top=S->next; 6.向一个带头结点、栈顶指针为top的链栈中插人一个*S结点的时候,应当执行语句(C )。 A.top->next=S;B.S->next=top;top=S; C.S->next=top->next;top->next=S;D.S->next=top;top=S->next; 7.判定一个队列Q(最多有n个元素)为空的条件是( C )。 A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =n C.Q->rear = = Q->front D.Q->rear +1= = Q->front 8.判定一个队列Q(最多有n个元素)为满的条件是(A)。 A.Q->rear-Q->front= =n B.Q->rear-Q->front+1= =n C.Q->rear = = Q->front D.Q->rear +1= = Q->front 9.判定一个循环队列Q(最多有n个元素)为空的条件是(A )。 A.Q->rear = = Q->front B.Q->rear = = Q->front+l C.Q->front= =(Q->rear +1)%n D.Q->front= =(Q->rear -1)%n 10.判定一个循环队列Q(最多有n个元素)为满的条件是( C )。 A.Q->rear = = Q->front B.Q->rear = = Q->front+l C.Q->front= =(Q->rear +1)%n D.Q->front= =(Q->rear -1)%n 11.在一个链队列中,假定front和rear分别为头指针和尾指针,则插入一个结点*S的操作是(C )。 A.front=front->next B.S->next=rear;rear=S C.rear->next=S;rear=S D.S->next=front;front=S 12.在一个链队列中,假定front和rear分别为头指针和尾指针,删除一个结点的操作是( A )。 A.front=front->next B.rear=rear->next C.rear->next=front D.front->next=rear 13.栈与队列都是( C )。 A.链式存储的线性结构B.链式存储的非线性结构 C.限制存取点的线性结构D.限制存取点的非线性结构14.若进栈序列为l,2,3,4,则( C )不可能是一个出栈序列。 A.3,2,4,1 B.l,2,3,4 C.4,2,3,1 D.4,3,2,l 15.在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印数据缓冲

数据结构第三次作业题及答案.doc

第3次作业 一、填空题(本大题共30分,共10小题,每小题3分) 1. 具有8个顶点的无向图,边的总数最多为_______ o 2. 树在计算机内的表示方式有______ , ______ , _____ o 3. 设有一个n阶的下三角矩阵A,如果按照行的顺序将下三角矩阵中的元素(包描对角线上元素)存放在n(n+l)个连续的存储单元中,则A[i][j]与A[0][0] Z间有 _______ 个数据元素。 4. 队列是限制插入只能在表的一端,而删除在表的另一端进行的线性表,其特点是______ O 5. 在广义表的存储结构中,单元索结点与表元索结点有一个域对应不同,各自分别为______ 域和_______ 域。 6. 构造连通网最小生成树的两个典型算法是______ O 7. 在一个稀疏矩阵中,每个非零元索所对应的三元组包括该元索的_________ 、

和三项。 8. 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有__________ 个叶子结点。 9. 非空的单循环链表head的尾结点(由p指针所指)满足条件 10. 在哈希文件屮,处理冲突的方法通常有______ 、______ 、______ 和______ 四种。 二、算法设计题(本大题共20分,共2小题,每小题10分) 1. 回文是指止读反读均相同的字符序列,如〃abba〃和〃abdba"均是回文,但"good" 不是回文。试写一个算法判定给定的字符向量是否为回文。 2. 编写一个算法将一个头结点指针为pa的单链表A分解成两个单链表A和B,其头结点指针分别为g和pb,使得A链表小含有原链表AM序号为奇数的元索,而链表B屮含有原链表A屮序号为偶数的元索,且保持原来的相对顺序。 三、简答题(本大题共20分,共4小题,每小题5分) 1. 何时选用顺序表、何时选用链表作为线性表的存储结构为宜?

数据结构与算法第3章课后答案

第 3 章特殊线性表——栈、队列和串 (2005-07-14) - 第 3 章特殊线性表——栈、队列和串 课后习题讲解 1. 填空 ⑴设有一个空栈,栈顶指针为1000H,现有输入序列为1、2、3、4、5,经过 push,push,pop,push,pop,push,push后,输出序列是(),栈顶指针为()。 【解答】23,1003H ⑵栈通常采用的两种存储结构是();其判定栈空的条件分别是(),判定栈满的条件分别是()。 【解答】顺序存储结构和链接存储结构(或顺序栈和链栈),栈顶指针top= -1和top=NULL,栈顶指针top等于数 组的长度和内存无可用空间 ⑶()可作为实现递归函数调用的一种数据结构。 【解答】栈 【分析】递归函数的调用和返回正好符合后进先出性。 ⑷表达式a*(b+c)-d的后缀表达式是()。 【解答】abc+*d- 【分析】将中缀表达式变为后缀表达式有一个技巧:将操作数依次写下来,再将算符插在它的两个操作数的后面 。 ⑸栈和队列是两种特殊的线性表,栈的操作特性是(),队列的操作特性是(),栈和队列的主要区别在于( )。 【解答】后进先出,先进先出,对插入和删除操作限定的位置不同 ⑹循环队列的引入是为了克服()。 【解答】假溢出 ⑺数组Q[n]用来表示一个循环队列,front为队头元素的前一个位置,rear为队尾元素的位置,计算队列中元素 个数的公式为()。 page: 2 The Home of jetmambo - 第 3 章特殊线性表——栈、队列和串 【解答】(rear-front+n)% n 【分析】也可以是(rear-front)% n,但rear-front的结果可能是负整数,而对一个负整数求模,其结果在不同 的编译器环境下可能会有所不同。 ⑻用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。 【解答】O(1),O(n) 【分析】在带头指针的循环链表中,出队即是删除开始结点,这只需修改相应指针;入队即是在终端结点的后面 插入一个结点,这需要从头指针开始查找终端结点的地址。 ⑼串是一种特殊的线性表,其特殊性体现在()。

数据结构练习3答案

数据结构练习(三)参考 一、选择题 1.顺序查找法适合于存储结构为的线性表 A)哈希存储 C)压缩存储D)索引存储 2.一个长度为100的已排好序的表,用二分查找法进行查找,若查找不成功,至少比较________次。 A)9 B)8 C)7 3.采用顺序查找方法查找长度为n的线性表时,平均比较次数为。 A)n B)n/2 n+1)/2 D)(n-1)/2 4.对线性表进行折半查找时,要求线性表必须。 A)以顺序方式存储 C)以链表方式存储D)以链表方式存储,且结点按关键字有序排列 5.采用二分查找法查找长度为n的线性表时,每个元素的平均查找长度为。 A)O(n2)B)O(nlog2n)C)O(n)(log2n)6.有一个长度为12的有序表R[0…11],按折半查找法对该表进行查找,在表内各元素等概率查找情况下查找成功所需的平均比较次数为。 A)35/12 C)39/12 D)43/12 7.有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,99},当采用折半查找法查找关键字为82的元素时,次比较后查找成功。 A)1 B.2 D)8 8.当采用分块查找时,数据的组织方式为。 A)数据分成若干块,每块内存数据有序 每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块 C)数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块 D)数据分成若干块,每块(出最后一块外)中的数据个数需相同 9.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,

假设采用顺序查找来确定结点所在的块时,每块应有个结点最佳。 A)10 C)6 D)625 10.不能生成右图所示二叉排序树的关键字序列是_____。 B)42531 C)45213 D)42315 11.按____遍历二叉排序树,可以得到按值递增或递减次序的关键码序列。 A)先序C)后序D)层序 12.在一棵平衡二叉树中,每个结点的平衡因子的取值范围是。 —1 B)-2—2 C)1—2 D)0—1 13.具有5层结点的A VL树至少有个结点 A)10 C)15 D)17 14.在含有15个结点的平衡二叉树上,查找关键字为28的结点,则依次比较的关键字可能是。 A)30,36 B)38,48,28 ,18,38,28D)60,30,50,40,38,36 15.一棵深度为k的平衡二叉树,其每个非叶子结点的平衡因子均为0,则该树共有个结点。 A)2k-1-1 B)2k-1 C)2k-1 +1k-1 16.查找效率最高的二叉排序树是。 A.所有结点的左子树都为空的二叉排序树 B.所有节点的右子树都为空的二叉排序树 D.没有左子树的二叉排序树 17.下面关于B-树和B+树的叙述中,不正确的结论是。 树和B+树都能有效地支持顺序查找 B)B-树和B+树都能有效地支持随机查找 C)B-树和B+树都是平衡的多分支树 D)B-树和B+树都可用于文件索引结构 18.设有n个关键字,哈希查找法的平均查找长度是。 (1)B)O(n)C)O(log2n)D)O(n2) 19.将10个元素散列到100000个单元的哈希表,则产生冲突。 A)一定会B)一定不会D)以上都不对

数据结构模拟试题与答案3

《数据结构》模拟试题3 一、单项选择题 1.带头结点的单向链表为空的判断条件是()(设头指针为head)。 A.head = =NULL B.head!=NULL C.head->next= =head D.head->next= =NULL 2.非空的单向循环链表的尾结点满足()(设头指针为head,指针p指向尾结点)。 A.p->next = =NULL B.p= =NULL C.p= =head D.p->next= =head 3.算法的时间复杂度与()有关。 A.所使用的计算机B.计算机的操作系统 C.算法本身D.数据结构 4.设有一个长度为n的顺序表,要删除第i个元素需移动元素的个数为()。 A.n-i+1 B.n-i C.n-i-1 D.i 5.在一个单链表中p所指结点之后插入一个s所指的结点时,可执行()。 A.p=s→next B.p→next=s→next; C.s→next=p→next; p→next=s; D.p→next= s; s→next= p→next 6.在一个链队中,假设f和r分别为队头和队尾指针,则删除一个结点的运算为()。 A.r=f→next; B.r=r→next; C.f=f→next; D.f=r→next; 7.元素1,3,5,7按顺序依次进栈,则该栈的不可能输出序列是()(进栈出栈可以交替进行)。

A.7,5,3,1 B.7,5,1,3 C.3,1,7,5 D.1,3,5,7 8.在C语言中,顺序存储长度为3的字符串,需要占用()个字节。 A.4 B.3 C.6 D.12 9.在一棵二叉树中,若编号为i的结点存在左孩子,则左孩子的顺序编号为()。 A.2i B.2i-1 C.2i+1 D.2i+2 10.一棵具有35个结点的完全二叉树,最后一层有()个结点。 A.4 B.6 C.16 D.8 11.在一个无向图中,所有顶点的度数之和等于边数的()倍。 A.3 B.2 C.2.5 D.1.5 12.已知如图3所示的一个图,若从顶点V1出发,按广度优先法进行遍历,则可能得到的一种顶点序列为()。 A.V1V2V4V8V5V3V6V7B.V1V2V4V5V8V3V6V7 C.V1V2V4V8V3V5V6V7D.V1V3V6V7V2V4V5V8 图3 13.对二叉排序树进行()遍历,可以使遍历所得到的序列是有序序列。

数据结构与算法复习题及参考答案

数据结构与算法复习题及参考答案 2021《数据结构域算法》复习题 复习问题集-参考答案 一判断题 (√)1.在决定选择哪个存储结构时,通常不考虑每个节点的值。(√)2.抽象数据类型与计算机的内部表示和实现无关。 (×)3.线性表采用链式存储结构时,结点和结点内部的存储空间可以是不连续的。(×)4.链表的每个结点中都恰好包含一个指针。 (×) 5. 链表的删除算法非常简单,因为当链中的一个节点被删除时,计算机会自动向前移动后续单元。(×) 6. 线性列表的每个节点只能是简单类型,而链表的每个节点可以是复杂类型。(×) 7. 顺序列表结构适用于顺序访问,而链表适用于随机访问。(×) 8. 线性表在物理存储空间中也必须是连续的。(×) 9. 顺序存储只能用于存储线性结构。 (√)10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。(√)11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。(√)12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。(√)13.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。(×)14.二叉树的度为2。 (√)15.如果二叉树使用二叉链表作为存储结构,则n节点二叉树链表中只有n-1个非空的手指字段。(×) 16. 二叉树中每个节点的两个子树之间的高度差等于1。 (√)17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。(√)18.具有12个结点的完全二叉树有5个度为2的结点。 (√)19.在二叉树的前序遍历序列中,任何节点都在其子节点之前。 (×)20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。(×)21.计算机处理的对象可以分为数据和非数据两大类。[计算机处理的对象都是数据](×)22.数据的逻辑结构与各数据元素在计算机中如何存储有关。(×)23.算法必须用程序语言来书写。 (×) 24. 判断算法是否易于阅读是算法分析的任务之一。 (×)25.顺序表是一种有序的线性表。[任何数据结构才用顺序存储都叫顺序表](√)26.分配给顺序表的内存单元地址必须是连续的。

数据结构-《数据结构与算法》试卷及答案【考试试卷答案】

《数据结构与算法》试卷A 适用专业: 考试日期: 闭卷 所需时间:120分钟 总分:100分 一、 选择题(每题1分, 共20题,总共20分)。 1.算法分析的目的是( ) A .辨别数据结构的合理性 B .评价算法的效率 C .研究算法中输入与输出的关系 D .鉴别算法的可读性 2.在一个单链表HL 中,若要在当前由指针p 指向的结点后面插入一个由q 指向的结点,则执行如下( )语句序列。 A. p=q; p->next=q; B. p->next=q; q->next=p; C. p->next=q->next; p=q; D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?( ) A. 在队列第i 个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D.读取队头元素的值 4.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。 A . 11 B.35 C. 19 D. 53 5.如下图所示的4棵二叉树中,( )不是完全二叉树。 6.下面关于线性表的叙述中,错误的是哪一个?( ) A .线性表采用顺序存储,必须占用一片连续的存储单元。 B .线性表采用顺序存储,便于进行插入和删除操作。 C .线性表采用链接存储,不必占用一片连续的存储单元。 D .线性表采用链接存储,便于插入和删除操作。 7.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。 A .单链表 B .仅有头指针的单循环链表 C .双链表 D .仅有尾指针的单循环链表 8. 若长度为n 的线性表采用顺序存储结构,在其第i 个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。 A. O(0) B. O(1) C. O(n) D. O(n 2 ) 9. 若已知一个栈的入栈序列是1,2,3,…,n ,其输出序列为p 1,p 2,p 3,…,p N ,若p N 是n ,则p i 是( )。 A. i B. n-i C. n-i+1 D. 不确定 10. 若栈采用顺序存储方式存储,现两栈共享空间V[1..m],top[i]代表第i 个栈( i =1,2)栈顶,栈1的底在v[1],栈2的底在V[m],则栈满的条件是( )。 A. |top[2]-top[1]|=0 B. top[1]+1=top[2] C. top[1]+top[2]=m D. top[1]=top[2] 11.下面关于串的的叙述中,哪一个是不正确的?( ) A .串是字符的有限序列 B .空串是由空格构成的串 C .模式匹配是串的一种重要运算 D .串既可以采用顺序存储,也可以采用链式存储 12. 设有数组A[i,j],数组的每个元素长度为3字节,i 的值为1 到8 ,j 的值为1 到10,数组从内存首地址BA 开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。 A. BA+141 B. BA+180 C. BA+222 D. BA+225 13. 将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1‥298]中,A 中元素A 6665(即该元素下标i=66,j=65),在B 数组中的位置K 为( )。 供选择的答案:A. 198 B. 195 C. 197 D.200 14. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( ) A .5 B .6 C .7 D .8 15. 在下述结论中,正确的是( ) ①只有一个结点的二叉树的度为0; ②二叉树的度为2; ③二叉树的左右子 院系:—————— 专业班级:——————— 姓名:——————— 学号:————— —

相关主题
相关文档
最新文档