数据结构试题及答案二

数据结构试卷

一、选择题(24分)

1.下列程序段的时间复杂度为()。

i=0,s=0;while (s

(A) O(n1/2) (B) O(n1/3) (C) O(n) (D) O(n2)

2.设某链表中最常用的操作是在链表的尾部插入或删除元素,则选用下列()存储方式最节省运算时间。

(A) 单向链表(B) 单向循环链表

(C) 双向链表(D) 双向循环链表

3.设指针q指向单链表中结点A,指针p指向单链表中结点A的后继结点B,指针s指向被插入的结点X,则在结点A和结点B插入结点X的操作序列为()。

(A) s->next=p->next;p->next=-s;(B) q->next=s; s->next=p;

(C) p->next=s->next;s->next=p;(D) p->next=s;s->next=q;

4.设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为()。

(A) 5,3,4,6,1,2 (B) 3,2,5,6,4,1

(C) 3,1,2,5,4,6 (D) 1,5,4,6,2,3

5.设有一个10阶的下三角矩阵A(包括对角线),按照从上到下、从左到右的顺序存储到连续的55个存储单元中,每个数组元素占1个字节的存储空间,则A[5][4]地址与A[0][0]的地址之差为()。

(A) 10 (B) 19 (C) 28 (D) 55

6.设一棵m叉树中有N1个度数为1的结点,N2个度数为2的结点,……,Nm个度数为m的结点,则该树中共有()个叶子结点。

(A) ∑

=-

m

i

i

N

i

1

)1

((B) ∑

=

m

i

i

N

1

(C) ∑

=

m

i

i

N

2

(D) ∑

=

-

+

m

i

i

N

i

2

)1

(

1

7. 二叉排序树中左子树上所有结点的值均()根结点的值。

(A) < (B) > (C) = (D) !=

8. 设一组权值集合W=(15,3,14,2,6,9,16,17),要求根据这些权值集合构造一棵哈

夫曼树,则这棵哈夫曼树的带权路径长度为()。

(A) 129 (B) 219 (C) 189 (D) 229

9. 设有n个关键字具有相同的Hash函数值,则用线性探测法把这n个关键字映射到HASH

表中需要做()次线性探测。

(A) n2(B) n(n+1) (C) n(n+1)/2 (D) n(n-1)/2

10.设某棵二叉树中只有度数为0和度数为2的结点且度数为0的结点数为n,则这棵二叉

中共有()个结点。

(A) 2n (B) n+l (C) 2n-1 (D) 2n+l

11.设一组初始记录关键字的长度为8,则最多经过()趟插入排序可以得到有序序列。

(A) 6 (B) 7 (C) 8 (D) 9

12.设一组初始记录关键字序列为(Q,H,C,Y,P,A,M,S,R,D,F,X),则按字母

升序的第一趟冒泡排序结束后的结果是()。

(A) F,H,C,D,P,A,M,Q,R,S,Y,X

(B) P,A,C,S,Q,D,F,X,R,H,M,Y

(C) A,D,C,R,F,Q,M,S,Y,P,H,X

(D) H,C,Q,P,A,M,S,R,D,F,X,Y

二、填空题(48分,其中最后两小题各6分)

1.设需要对5个不同的记录关键字进行排序,则至少需要比较_____________次,至多需

要比较_____________次。

2.快速排序算法的平均时间复杂度为____________,直接插入排序算法的平均时间复杂度

为___________。

3.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。

4.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________

个,比较两次查找成功有结点数有_________个。

5.设一棵m叉树脂的结点数为n,用多重链表表示其存储结构,则该树中有_________个

空指针域。

6.设指针变量p指向单链表中结点A,则删除结点A的语句序列为:

q=p->next;p->data=q->data;p->next=___________;feee(q);

7.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。

8.设无向图G中有n个顶点e条边,则用邻接矩阵作为图的存储结构进行深度优先或广度

优先遍历时的时间复杂度为_________;用邻接表作为图的存储结构进行深度优先或广度优先遍历的时间复杂度为_________。

9.设散列表的长度为8,散列函数H(k)=k % 7,用线性探测法解决冲突,则根据一组初始

关键字序列(8,15,16,22,30,32)构造出的散列表的平均查找长度是________。10.设一组初始关键字序列为(38,65,97,76,13,27,10),则第3趟冒泡排序结束后的

结果为_____________________。

11.设一组初始关键字序列为(38,65,97,76,13,27,10),则第3趟简单选择排序后的

结果为______________________。

12.设有向图G中的有向边的集合E={<1,2>,<2,3>,<1,4>,<4,5>,<5,3>,<4,6>,

<6,5>},则该图的一个拓扑序列为_________________________。

13.下面程序段的功能是建立二叉树的算法,请在下划线处填上正确的内容。

typedef struct node{int data;struct node *lchild;________________;}bitree;

void createbitree(bitree *&bt)

{

scanf(“%c”,&ch);

if(ch=='#') ___________;else

{ bt=(bitree*)malloc(sizeof(bitree)); bt->data=ch; ________;createbitree(bt->rchild);} }

14.下面程序段的功能是利用从尾部插入的方法建立单链表的算法,请在下划线处填上正确

的内容。

typedef struct node {int data; struct node *next;} lklist;

void lklistcreate(_____________ *&head )

{

for (i=1;i<=n;i++)

{

p=(lklist *)malloc(sizeof(lklist));scanf(“%d”,&(p->data));p->next=0;

if(i==1)head=q=p;else {q->next=p;____________;}

}

}

三、算法设计题(22分)

1.设计在链式存储结构上合并排序的算法。

2.设计在二叉排序树上查找结点X的算法。

3.设关键字序列(k1,k2,…,k n-1)是堆,设计算法将关键字序列(k1,k2,…,k n-1,x)调整为堆。

数据结构试卷参考答案

一、选择题

1.A 2.D 3.B 4.B 5.B 6.D

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

二、填空题

1.4,10

2.O(nlog2n),O(n2)

3.n

4.1,2

5.n(m-1)+1

6.q->next

7.线性结构,树型结构,图型结构

8.O(n2),O(n+e)

9.8/3

10.(38,13,27,10,65,76,97)

11.(10,13,27,76,65,97,38)

12.124653

13.struct node *rchild,bt=0,createbitree(bt->lchild)

14.lklist,q=p

三、算法设计题

1.设计在链式存储结构上合并排序的算法。

void mergelklist(lklist *ha,lklist *hb,lklist *&hc)

{

lklist *s=hc=0;

while(ha!=0 && hb!=0)

if(ha->datadata){if(s==0) hc=s=ha; else {s->next=ha; s=ha;};ha=ha->next;}

else {if(s==0) hc=s=hb; else {s->next=hb; s=hb;};hb=hb->next;}

if(ha==0) s->next=hb; else s->next=ha;

}

2.设计在二叉排序树上查找结点X的算法。

bitree *bstsearch1(bitree *t, int key)

{

bitree *p=t;

while(p!=0) if (p->key==key) return(p);else if (p->key>key)p=p->lchild; else p=p->rchild;

return(0);

}

3.设关键字序列(k1,k2,…,k n-1)是堆,设计算法将关键字序列(k1,k2,…,k n-1,x)调

整为堆。

void adjustheap(int r[ ],int n)

{

int j=n,i=j/2,temp=r[j-1];

while (i>=1) if (temp>=r[i-1])break; else{r[j-1]=r[i-1]; j=i; i=i/2;} r[j-1]=temp;

}

数据结构试题及答案(2)

数据结构试题 一、单选题(每题 2 分,共20分) 1.1. 对一个算法的评价,不包括如下( B )方面的内容。 A.健壮性和可读性B.并行性 C.正确性 D.时空复杂度 2.2. 在带有头结点的单链表HL中,要向表头插入一个由指针p 指向的结点,则执行( A )。 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.3. 对线性表,在下列哪种情况下应当采用链表表示?( B ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4.4. 一个栈的输入序列为 1 2 3,则下列序列中不可能是栈的输 出序列的是( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5.5. AOV网是一种( D )。 A.有向图 B.无向图 C.无向无环图D.有向无环图 6.6. 采用开放定址法处理散列表的冲突时,其平均查找长度 ( B )。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同 D.高于二分查找 7.7. 若需要利用形参直接访问实参时,应将形参变量说明为( D ) 参数。 A.值 B.函数 C.指针 D.引用 8.8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的 结点都具有相同的( A )。 A.行号B.列号 C.元素值 D.非零元素个数 9.9. 快速排序在最坏情况下的时间复杂度为( D )。 A.O(log 2n) B.O(nlog 2 n) C.O(n) D.O(n2) 10.10. 从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 A. O(n) B. O(1) C. O(log 2 n) D. O(n2) 二、运算题(每题 6 分,共24分) 1. 1. 数据结构是指数据及其相互之间的_对应关系(联系)。当结点之间存在M 对N(M:N)的联系时,称这种结构为图(或图结构)。 2. 2.队列的插入操作是在队列的__队尾___进行,删除操作是在队列的_对头_ 进行。 3. 3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,

数据结构期末试题及答案 2

D 一、单项选择题 1、在以下的叙述中,正确的是( B )。 A. 线性表的线性存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C. 栈的操作方式是先进先出 D. 队列的操作方式是先进后出 2、判定一个循环队列qu(最多元素为m0)为空的条件是( A )。 A. qu->front==qu->rear B. qu->front!=qu->rear C. qu->front=(qu->rear+1)%m0 D. qu->front!=(qu->rear+1)%m0 3、向一个栈顶指针为hs的链栈中插入一个s所指结点时,则执行( C )。 A. hs->next=s; B. s->next=hs->next;hs->next=s; C. s->next=hs;hs=s; D. s->next=hs;hs=sh->next 4、串是一种特殊的线性表,其特殊性体现在( B )。 A. 可以顺序存储 B. 数据元素是一个字符 C. 可以链接存储 D. 数据元素可以是多个字符 5、设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分按行序存放在一维数组B[1,n(n-1)/2]中,对下三角部分中任一元素a (i≥j),在 i,j 一维数组B的下标位置k的值是( B )。 A. i(i-1)/2+j-1 B. i(i-1)/2+j

C. i(i+1)/2+j-1 D. i(i+1)/2+j 6、将递归算法转换成对应的非递归算法时,通常需要使用( A )。 A. 栈 B. 队列 C. 链表 D. 树 7、树的基本遍历策略可分为先根遍历和后根遍历叉树的基本遍历策略可分为先序遍历、中序遍历和后序遍历。这里,我们把由树转化得到的二叉树叫做这棵树对应的二叉树。结论_A___是正确的。 A. 树的先根遍历序列与其对应的二叉树的先序遍历序列相同 B. 树的后根遍历序列与其对应的二叉树的后序遍历序列相同 C. 树的先根遍历序列与其对应的二叉树的中序遍历序列相同 D. 以下都不对 8、对一个满二叉树,m个树叶,n个结点,深度为h,则( D )。 A. n=h+m B. h+m=2n C. m=h-1 D. n=2h-1 9、具有7个顶点的无向图至少应有( A )条边才能确保是一个连通图。 A. 5 B. 6 C. 7 D. 8 10、判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以利用( D )。 A. 求关键路径的方法 B. 求最短路径的Dijkstra方法 C. 宽度优先遍历算法 D. 深度优先遍历算法 11、有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,100},当二分查找值为82的结点时,( C )次比较后查找成功。 A. 1 B. 2 C. 4 D. 8 12、如果要求一个线性表既能较快地查找,又能适应动态变化的要求,可以采用__A___查找方法。 A. 分块 B. 顺序 C. 二分 D. 散列 13、在所有排序方法中,关键字比较的次数与记录的初始排列次序无关

数据结构模拟试题二及答案

数据结构模拟试题二 一.判断题(每小题1 分,共15分) 1.构成数据的最小单位是数据项。 2.空线性表的一个特性是线性表中各结点尚未赋值。 3.非循环单向链表一定要有表头指针。 4.顺序栈的栈顶指针是一个指针类型的变量。 5.在表示树的双亲数组中,找结点的双亲要比找结点的孩子容易。 6.哈夫曼树中不存在度为1的结点。 7.在图中,与V i相邻的顶点其序号一定是i+1或i-1。 8.如果是不连通的无向图,则在相应的邻接表中一定有空链表。 9.矩阵的行数和列数可以不相等。 10.广义表的深度与广义表中含有多少个子表元素有关。 11.折半查找可以在有序的双向链表上进行。 12.散列查找过程中,关键字的比较次数和散列表中关键字的个数直接相关。 13.对n个元素执行简单选择排序,排序码的比较次数总是n(n-1)/2次。 14.物理记录的大小与逻辑记录的大小成正比。 15.对索引文件,索引表是建立在内存的,数据区是建立在外存的。 二.填空题(每空1分,共15分) 1.在程序中,描述顺序表的存储空间一般用________变量。 2.若用Q[0]~Q[100]作为循环顺序队列的存储空间,用“队首指针f的值等于队尾指针r 的值”作为队空的标志,则创建一个空队列所要执行的操作是___________。 3.栈和顺序栈的区别仅在于________。 4.n个结点的二叉树最大高度是___,最小高度是___。 5.树的存储方法主要有_____、_____和_____三种。 6.n个顶点的强连通图中至少有___条边。 7.10行20列矩阵若用列优先顺序表来表示,则矩阵中第7行第6列元素是顺序表中第___ 个元素。 8.在各元素查找概率相等的情况下,在含有14个元素的平衡二叉排序树上查找其中一个 元素,元素间的平均比较次数至少是_____次,至多是______次。 9.对n个元素执行快速排序,在进行第一次分组时,元素的移动次数至多是____次,至少 是___次。 10.在B-树中,若某结点有i个孩子,则该结点中一定有___个关键字。 三.选择题(每题2分,共30分) 1.数据结构的研究内容不涉及________。 A.算法用什么语言来描述B.数据如何存储 C.数据的运算如何实现D.数据如何组织 2. 若H1是动态单向链表的表头指针,H2是动态双向链表的表头指针,则________。A.H1和H2占用同样多的内存空间B.H1和H2是同类型的变量 C.H2要比H1占用更多的内存空间 D.双向链表要比单向链表占用更多的内存空间 3. 对于K个带头结点的静态单向链表来说,若各结点类型相同,则K个链表一般可共用_________。 A.同一个数组B.某些数组元素C.同一个表头结点D同一个表头指针 4.最不适合用作链接栈的链表是_____________。 A.只有表头指针没有表尾指针的循环双向链表 B.只有表尾指针没有表头指针的循环双向链表 C.只有表尾指针没有表头指针的循环单向链表 D.只有表头指针没有表尾指针的循环单向链表 5.栈和队列的共同点在于_____________。 A.都对存储方法作了限制B.都是只能进行插入、删除运算C.都对插入、删除的位

数据结构试题2(含答案)

期末样卷参考答案 一.是非题(每题2分共20分) 1. 线性表的链式存储结构优于顺序存储结构。F 2. 栈和队列也是线性表。如果需要,可对它们中的任一元素进行操作。F 3.字符串是数据对象特定的线性表。T 4.在单链表P指针所指结点之后插入S结点的操作是:P->next= S ; S-> next = P->next; F 5.一个无向图的连通分量是其极大的连通子图。T 6.邻接表可以表示有向图,也可以表示无向图。T 7.假设B是一棵树,B′是对应的二叉树。则B的后根遍历相当于B′的中序遍历。 T 8.通常,二叉树的第i层上有2i-1个结点。F 9.对于一棵m阶的B-树,树中每个结点至多有m 个关键字。除根之外的所有非终端 结点至少有┌m/2┐个关键字。F 10.对于任何待排序序列来说,快速排序均快于起泡排序。F 二.选择题(每题2分共28分) 1.在下列排序方法中,(c)方法平均时间复杂度为0(nlogn),最坏情况下时间复杂度为0(n2);(d)方法所有情况下时间复杂度均为0(nlogn)。 a. 插入排序 b. 希尔排序 c. 快速排序 d. 堆排序 2. 在有n个结点的二叉树的二叉链表表示中,空指针数为(b)。 a.不定 b.n+1 c.n d.n-1 3. 下列二叉树中,(a)可用于实现符号不等长高效编码。 a.最优二叉树 b.次优查找树 c.二叉平衡树 •• d.二叉排序树 4. 下列查找方法中,(a)适用于查找有序单链表。 a.顺序查找 b.二分查找 c.分块查找 d.哈希查找 5. 在顺序表查找中,为避免查找过程中每一步都检测整个表是否查找完毕,可采用 (a)方法。 a.设置监视哨 b.链表存贮 c.二分查找 d.快速查找 6. 在下列数据结构中,(c)具有先进先出特性,(b)具有先进后出特性。 a.线性表 b.栈 c.队列 d.广义表 7.具有m个结点的二叉排序树,其最大深度为(f),最小深度为(b)。 a. log 2 m b. └ log2 m ┘ +1 c. m/2 d .┌ m/2 ┐ -1 e. ┌ m/2 ┐ f. m 8.已知一组待排序的记录关键字初始排列如下:56,34,58,26,79,52,64,37,28,84,57。 下列选择中(c)是快速排序一趟排序的结果。 (b)是希尔排序(初始步长为4)一趟排序的结果。 (d)是基数排序一趟排序的结果。 (a)是初始堆(大堆顶)。 a)84,79,64,37,57,52,58,26,28,34,56。 b)28,34,57,26,56,52,58,37,79,84,64。 c)28,34,37,26,52,56,64,79,58,84,57。 d)52,34,64,84,56,26,37,57,58,28,79。

数据结构试题集[包含答案_完整版]

第一章概论 一、选择题 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 )。 for(i=0;i

A. 计算机程序 B. 解决问题的计算方法 C. 排序算法 D. 解决问题的有限运算序列 7、某算法的语句执行频度为(3n+nlog 2n+n 2+8),其时间复杂度表示( C )。 A. O(n) B. O(nlog 2n) C. O(n 2) D. O(log 2n) 8、下面程序段的时间复杂度为( C )。 i=1; while(i<=n) i=i*3; A. O(n) B. O(3n) C. O(log 3n) D. O(n 3) 9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的( B )和运算等的学科。 A. 结构 B. 关系 C. 运算 D. 算法 10、下面程序段的时间复杂度是(A )。 i=s=0; while(s

数据结构考试试题二及参考答案

课程名称: 数据结构 考试时间: 姓名: 班级: 学号: 一、选择题(每题2分,共20分) ( )1、 链表适用于_______查找 A) 顺序 B) 二分法 C) 顺序,也能二分法 D) 随机 ( )2、试利用Dijkstra 算法求图中从顶点a 到其他各顶点间的最短路径 A) a,c,f,e,d,g,b B) a,c,e,f,d,g,b C) a,c,f,d,e,g,b D) a,c,f,d,e,b,g (有问题) ( )3、栈中元素的进出原则是 A )先进先出 B )后进先出 C )栈空则进 D )栈满则出 ( )4、已知图的邻接矩阵如下,根据算法思想,则从顶点0出发按广度优 先遍历的结点序列是_______。(有问题) A) 0 2 4 3 6 5 1 B)0 1 2 3 4 5 6 C) 0 4 2 3 1 5 6 D) 0 1 3 4 2 5 6 ( )5、用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman )树的带权路径长度是。 A )32 B )33 C )34 D )15 ( )6、给定二叉树的两种遍历序列,分别是:先序遍历序列:D ,A ,C ,E ,B ,H , F , G ,I ; 中序遍历序列:D ,C ,B ,E , H ,A ,G , I ,F ,其后序遍历序 列为: A) BHECGIFAD B) BHECIGADF C) BHECIGFAD D) CHEBIGADF ( )7、有8个结点的无向图最多有 条边。 A )14 B )28 C )56 D )112 ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦ ⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡01000111011000 01011010110011 001000110010011011110

数据结构试题及答案

数据结构试卷(二) 一、选择题(24分) 1.下面关于线性表的叙述错误的是()。 (A) 线性表采用顺序存储必须占用一片连续的存储空间 (B) 线性表采用链式存储不必占用一片连续的存储空间 (C) 线性表采用链式存储便于插入和删除操作的实现 (D) 线性表采用顺序存储便于插入和删除操作的实现 2.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。 (A) 2m-1 (B) 2m (C) 2m+1 (D) 4m 3.设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()。 (A) R-F (B) F-R (C) (R-F+M)%M (D) (F-R+M)%M 4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。 (A) BADC (B) BCDA (C) CDAB (D) CBDA 5.设某完全无向图中有n个顶点,则该完全无向图中有()条边。 (A) n(n-1)/2 (B) n(n-1) (C) n2(D) n2-1 6.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。 (A) 9 (B) 10 (C) 11 (D) 12 7.设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。 (A) n-1 (B) n (C) n+1 (D) 2n-1 8.设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。 (A) 2,3,5,8,6 (B) 3,2,5,8,6 (C) 3,2,5,6,8 (D) 2,3,6,5,8 二、填空题(24分) 1. 1. 为了能有效地应用HASH查找技术,必须解决的两个问题是 ____________________和__________________________。 2. 2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。 typedef struct {int s[100]; int top;} sqstack; void push(sqstack &stack,int x) { if (stack.top==m-1) printf(“overflow”); else {____________________;_________________;} } 3. 3. 中序遍历二叉排序树所得到的序列是___________序列(填有序或无序)。 4. 4. 快速排序的最坏时间复杂度为___________,平均时间复杂度为__________。 5. 5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树 中度数为2的结点数为_________;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_______个空指针域。 6. 6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则 e=_______。 7.7. 设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选 法建立的初始堆为___________________________。

数据结构考试题库(含参考答案) (2)

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。【北京邮电大学2000 二、3 (20/8分)】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于()【中科院计算所1998 二、1 (2分)】 A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是()。【中山大学1998 二、1(2分)】 A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C. 5. 下面关于算法说法错误的是()【南京理工大学2000 一、1(1.5分)】 A.算法最终必须由计算机程序实现 B. 为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是()【南京理工大学2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学1996 一、4(2分)】 A.动态结构、静态结构B.顺序结构、链式结构 C.线性结构、非线性结构D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学2000 二、1(2分)】 A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学2001 一、1(2分)】 A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串

数据结构树的测试题(二)

习题六树和二叉树 一、单项选择题 1.以下说法错误的是( A ) A.树形结构的特点是一个结点可以有多个直接前趋 B.线性结构中的一个结点至多只有一个直接后继 C.树形结构可以表达(组织)更复杂的数据 D.树(及一切树形结构)是一种"分支层次"结构 E.任何只含一个结点的集合是一棵树 2.下列说法中正确的是( D ) A.任何一棵二叉树中至少有一个结点的度为2 B.任何一棵二叉树中每个结点的度都为2 C.任何一棵二叉树中的度肯定等于2 D.任何一棵二叉树中的度可以小于2 3.讨论树、森林和二叉树的关系,目的是为了(A ) A.借助二叉树上的运算方法去实现对树的一些运算 B.将树、森林按二叉树的存储方式进行存储 C.将树、森林转换成二叉树 D.体现一种技巧,没有什么实际意义 4.树最适合用来表示( C ) A.有序数据元素B.无序数据元素 C.元素之间具有分支层次关系的数据D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是(B )A.9 B.11 C.15 D.不确定 6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是( D )。 A.M1 B.M1+M2 C.M3 D.M2+M3 7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是( E )A.250 B.500 C.254 D.505 E.以上答案都不对 8.二叉树的第I层上最多含有结点数为( C ) A.2I B.2I-1-1 C.2I-1D.2I -1 10.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( B )结点A.2h B.2h-1 C.2h+1 D.h+1 11. 利用二叉链表存储树,则根结点的右指针是(B )。 A.指向最左孩子B.指向最右孩子C.空D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为(A )。 A.CBEFDA B.FEDCBA C.CBEDFA D.不定 13.已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac , 它的前序遍历是( D )。 A.acbed B.decab C.deabc D.cedba 14.在二叉树结点的先序序列,中序序列和后序序列中,所有叶子结点的先后顺序( B )A.都不相同B.完全相同

数据结构试题和答案2

数据结构自考复习思考试题○2 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。 错选、多选或未选均无分。 1.数据结构是() A.一种数据类型 B.数据的存储结构 C.一组性质相同的数据元素的集合 D.相互之间存在一种或多种特定关系的数据元素的集合 2.算法分析的目的是() A.辨别数据结构的合理性 B.评价算法的效率 C.研究算法中输入与输出的关系 D.鉴别算法的可读性 3.在线性表的下列运算中,不.改变数据元素之间结构关系的运算是() A.插入B.删除 C.排序D.定位 4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为()A.3,2,6,1,4,5 B.3,4,2,1,6,5 C.1,2,5,3,4,6 D.5,6,4,2,3,1 5.设串sl=″Data Structures with Java″,s2=″it″,则子串定位函数index(s1,s2)的值为 ()A.15 B.16 C.17 D.18 6.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为() A.1207 B.1209 C.1211 D.1213 7.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是() A.队列B.栈 C.线性表D.有序表 8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系() A.不一定相同B.都相同 C.都不相同D.互为逆序

(完整word版)数据结构试题试卷二含答案

模拟试题二 模拟试题二 一、选择题(28分) 1.设一数列的顺序为l,2,3,4,5,通过栈结构不可能排成的顺序数列为( )。 A)3,2,5,4,l B)1,5,4,2,3 C)2,4,3,5,l D)4,5,3,2,l 2。二叉树的第3层最少有()个结点。 A)0 B)1 C)2 D)3 3。—个n个顶点的连通无向图,其边的个数至少为( )。 A) n-l B)n C)n+l D)nlogn 4。下列排序方法中,( )的比较次数与记录的初始排列状态无关。 A)直接插入排序 B)起泡排序 C)快速排序 D)直接选择排序 5.-棵哈夫曼树总共有II个结点,则叶子结点有( )个。 A)5 B)6 C)7 D)9 6.已知某算法的执行时间为(n+n2)+log2(n+2),n为问题规模,则该算法的时间复杂度是( )。 A)O(n)B)O(n2) C)O(log2n)D)O(nlog2n) 7。如果一棵树有10个叶子结点,则该树总共至少有( )个结点。 A)lO B)11 C)19 D) 21 8。—个100×100的三角矩阵a采用行优先压缩存储后,如果首元素a[0][0]是第一个元素,那么a[4] [2]是第( )个元素。 A)13 B) 401 C) 402 D)403 9.有一棵二叉树如题图1,该树是()。 A)二叉平衡树B)二叉排序树 C)堆的形状D)以上都不是 10。对于含有n个顶点e条边的无向连通图,利用Prim算法生成最小代价生成树,其时间复杂度为(),利用Kruska算法的时间复杂度为(). A)O(log2n) B)0(n2) C)O(ne) D)O(elog2ne) 11.具有n个顶点的完全有向图的边数为( ). A)n(n—l)/2 B)n(n-l) C) n2 D)n2—1 12。设有100个元素,用折半查找时,最大比较次数为(),最小比较次数为()。 A)25 B)7 C) 10 D)l

数据结构试题及答案2

数据结构试题及答案2 数据结构试题(A)参考答案 班别学号姓名成绩 一、单项选择(每小题2分,共24分) 1.若某线性表的常用操作是取第i个元素及其前趋元素,则采用( A )存储方式最节省时间 A.顺序表 B.单链表 C.双链表 D.单向循环 2.串是任意有限个( B ) A.符号构成的序列 B.字符构成的序列 C.符号构成的集合 D.字符构成的集合 3.设矩阵A(aij,1<=i,j<=10)的元素满足: aij<>0(i>=j,1<=i,j<=10),aij =0 (i 若将A的所有非0元素以行为主序存于首地址为2000的存储区域中,每个元素占4个单元,则元素A[59]的首地址为( C ) A.2340 B.2336 C.2220 D.2160 4.如果以链表作为栈的存储结构,则退栈操作时( D ) A.必须判别栈是否满干 B.对栈不作任何判别 C.判别栈元素的类型 D.必须判别栈是否空 5.设数组Data[0..m]作为循环队列SQ的存储空间,front为队头

指针,rear为队尾指针,则执行出队操作的语句为( A ) A.front=(front+1)%(m+1) B.front=(front+1)% m C.rear=(rear+1)% m D. front=front+1 6.深度为6(根的层次为1)的二叉树至多有( B )结点 A.64 B.63 C.31 D.32 7.将含100个结点的完全二叉树从根这一层开始,每层从左至右依次对结点编号,根结点的编号为1。编号为47的结点X的双亲的编号为( C ) A.24 B.25 C.23 D.2无法确定 8.设有一个无向图G=(V,E)和G'=(V',E'),如果G'为G的生成树,则下面不正确的说法是( D ) A.G'为G的子图 B.G'为G的一个无环子图 C.G'为G的极小连通子图且V'=V D.G'为G的连通分量 9.用线性探测法查找闭散列上,可能要探测多个散列地址,这些位置上的键值( D ) A.一定都是同义词 B.一定都不是同义词 C.都相同 D.不一定都是同义词 10.二分查找要求被查找的表是( C )

数据结构试题及答案(十套)

数据结构试题及答案(十套)数据结构试题及答案(十套) 一、选择题 1. 数据结构是指()。 A. 存储数据的方式 B. 数据的逻辑结构和物理结构 C. 数据的存储结构和存储方式 D. 数据的逻辑结构、存储结构和存储方式 答案:D 2. 在数据结构中,线性表的存储方式包括()。 A. 顺序存储和链式存储 B. 数组存储和链表存储 C. 顺序存储、链表存储和索引存储 D. 顺序存储、链表存储和树形存储 答案:A 3. 栈是一种()的数据结构。 A. 先进先出

B. 先进后出 C. 后进先出 D. 后进后出 答案:C 4. 队列是一种()的数据结构。 A. 先进先出 B. 先进后出 C. 后进先出 D. 后进后出 答案:A 5. 二叉树中,度为0的节点称为()。 A. 叶子节点 B. 根节点 C. 中间节点 D. 子节点 答案:A 6. 以下哪个排序算法是稳定的?

A. 快速排序 B. 选择排序 C. 插入排序 D. 希尔排序 答案:C 7. 图中表示顶点之间关系的边的数量称为()。 A. 顶点度数 B. 边数 C. 路径数 D. 网络 答案:B 8. 哈希表通过()来实现高效的查找操作。 A. 散列函数 B. 排序算法 C. 遍历操作 D. 顺序存储 答案:A

9. 平衡二叉树是一种具有左右子树高度差不超过()的二叉树。 A. 0 B. 1 C. 2 D. 3 答案:B 10. 在链表中,删除节点的操作时间复杂度是()。 A. O(1) B. O(logn) C. O(n) D. O(nlogn) 答案:A 二、填空题 1. 在顺序存储结构中,元素之间的逻辑关系由()表示。 答案:下标 2. 二叉查找树的中序遍历结果是一个()序列。 答案:递增 3. 哈希表通过散列函数将关键字映射到()上。

数据结构--第二章考试题库(含答案)

第2章线性表 一选择题 1.下述哪一条是顺序存储结构的优点?()【北方交通大学 2001 一、4(2分)】A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示 2.下面关于线性表的叙述中,错误的是哪一个?()【北方交通大学 2001 一、14(2分)】 A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 3.线性表是具有n个()的有限序列(n>0)。【清华大学 1998 一、4(2分)】A.表元素 B.字符 C.数据元素 D.数据项 E.信息项 4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。【哈尔滨工业大学 2001二、1(2分)】A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。【南开大学 2000 一、3】 A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表 6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。 A. 单链表 B.单循环链表 C. 带尾指针的单循环链表 D.带头结点的双循环链表 【合肥工业大学 2000 一、1(2分)】 7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用()存储方式最节省运算时间。【北京理工大学 2000一、1(2分)】A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表 8. 静态链表中指针表示的是(). 【北京理工大学 2001 六、2(2分)】 A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址 9. 链表不具有的特点是()【福州大学 1998 一、8 (2分)】 A.插入、删除不需要移动元素 B.可随机访问任一元素 C.不必事先估计存储空间 D.所需空间与线性长度成正比 10. 下面的叙述不正确的是()【南京理工大学 1996 一、10(2分)】 A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B. 线性表在链式存储时,查找第i个元素的时间同i的值无关 C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比 D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关 11. 线性表的表元存储方式有((1))和链接两种。试指出下列各表中使用的是何种存储方式:表1是((2))存储方式;表2是((3))存储方式;表3是((4))存储方式;表4是((5))存储方式。表左的s指向起始表元。

十套数据结构试题及答案2

十套数据结构试题及答案2 第2章线性表练习题答案 一、填空 1. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 n-i+1个元素。 2. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。 3. 在顺序表中访问任意一结点的时间复杂度均为O(1) ,因此,顺序表也称为随机存取的数据结构。 4. 在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的指示。5在n个结点的单链表中要删除已知结点*p,需找到它的前驱结点的地址,其时间复杂度O (n)。 二、判断正误 (×) 1. 链表的每个结点中都恰好包含一个指针。 答:错误。链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。 (×) 2. 链表的物理存储结构具有同链表一样的顺序。错,链表的存储结构特点是无序,而链表的示意图有序。 (×) 3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。错,链表的结点不会移动,只是指针内容改变。 (×)

4. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 错,混淆了逻辑结构与物理结构,链表也是线性表!且即使是顺序表,也能存放记录型数据。 (×) 5. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 错,正好说反了。顺序表才适合随机存取,链表恰恰适于“顺藤摸瓜” (×) 6. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。 错,前一半正确,但后一半说法错误,那是链式存储的优点。顺序存储方式插入、删除运算效率较低,在表长为n的顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素。 (×) 7. 线性表在物理存储空间中也一定是连续的。 错,线性表有两种存储方式,顺序存储和链式存储。后者不要求连续存放。 (×) 8. 线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。 错误。线性表有两种存储方式,在顺序存储时,逻辑上相邻的元素在存储的物理位置次序上也相邻。 (×) 9. 顺序存储方式只能用于存储线性结构。

数据结构试题2

计算机专业数据结构试题 一、选择题(每小题1分,共10分) 1、在一个长度为n的顺序表的表尾插入一个新元素的渐进时间复杂度为() A.O (n) B.O (1) C.O (n2 ) D.O (log2 n) 2、设单链表中结点的结构为(data , link)。已知指针q所指结点是指针p所指结事业的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作?()A.s ->link= p->link ; p->link=s B.q->link=s ;s->link=p C.p->link=s->link ;s->link=p D.p->link=s ;s->link=q 3、若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。 A.3,2,1 B.2,1,3 C.3,1,2 D.1,3,2 4、一个递归的定义可以用递归过程求解,也可以用非递归过程求解,但单从运行时间来看,通常递归过程比非递归过程() A.较快B.较慢C.相同 5、树中所有结点的度等于所有结点数加() A.0 B.1 C.-1 D.2 6、在一棵具有n个结点的二叉树中,所有结点的空子树个数等于() A.n B.n-1 C.n+1 D.2*n 7、对长度为n的有序单链表,若搜索每个元素的概率相等,则顺序搜索到表中任一元素的平均搜索长度为() A.n/2 B.(n+1)/2 C.(n –1)/2 D.n/4 8、在无向图中定义顶点V i与V j之间的路径为从V i到达V j的一个() A.顶点序列B.边序列C.权值总和D.边的条数 9、如果只想得到1024个元素组成的序列中的前5个最小元素,那么用()方法最快。 A.起泡排序B.快速排序C.堆排序D.直接选择排序10、设有一个含200个表项的散列表,用线性探查法解决冲突,按关键码查询时找到一个表 项的平均探查次数不超过1.5,则散列表项应能够至少容纳()个表项。 (设搜索成功的平均搜索长度为S nl={1+1/(1-α)}/2其中α为装填因子) A.400 B.526 C.624 D.676 二、填空题(每小题1分,共10分) 11、在程序运行过程中不能扩充的数组是分配的数组。这种数组在声明它时必须指定它的大小。 12、将一个n阶三对角矩阵A的三条对角线上的元素按行压缩存放于一个一维数组B中,A[0][0]存放于B[0]中。对于任意给定数组元素A[ I ][ J ],如果它能够在数组B中找到,则它应在位置。 13、链表适用于查找。 14、队列的插入操作在进行,删除操作在进行。

数据结构-数据结构历年考题及答案2

数据结构-数据结构历年考题及答案2 中国矿业大学2011-2012学年 《数据结构》试卷(A卷)(考试时间:100分钟) 一. 填空(每空2分,共40分) 1. 数据结构式具有相同性质的数据元素的(1)。 2. 通常程序在调用另一个程序时,都需要使用一个(2)来保存被调用程序内分配的局部变量、形式参数的存储空间以及返回地址。 3. 有6行8列的二维数组A,每个元素用相邻的6个字节存储,存储器按字节编址,已知A的起始存储地址(基址)为1000,在行优先存储和列优先存贮情况下A[5,5]的存储地址分别为__(3)_____,_____(4)____。 4. 完全二叉树第4 个节点的父节点是第 (5) 节点,左孩子是第 (6) 个节点。如果该二叉树有10层,则共有 (7) 个节点。 5. 请描述在循环队列Q中,队头和队尾指针分别由front和rear 表示,该队列有10个存储空间,判断队空和队满的条件分别分:_____(8)________,_______(9)_________。 6. 字符串t=”child”,s=”cake”,请写出下列函数的结果:StrLength(t) =(10)__;Concat(SubString(s,3,1),SubString(t,2,2))=____(11)___。 7. 一棵二叉树为 则后序序列为(12),中序序列为(13),先序序列为__(14)____。 8. 请用数据序列{53,17,12,66,58,70,87,25,56,60 }构造一棵二叉排序树_(15)_。 9.。一个栈输入的序列式1,2,3,则可能的且以2为开头的输出序列是 (16) ,不可能的序列是____(17)____。

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