数据结构试题1

数据结构

1.向一个长度为n的顺序表中的第i个元素之前插入一个元素时,需要向后移动个元素。

答:n-i+1

2.在一个长度为n的顺序表中删除第i个元素时,需要向前移动元素。

答: n-i

3.在单链表中设置头结点的作用是。

答:简单插入、删除算法

4.在单链中要删除某一指定结点,必须找到该结点的结点。

答:直接前驱

5.访问单链表中的结点,必须沿着依次进行。

答:指针域

6.在双链表中每个结点有两个指针域,一个指向,一个指向。

答:直接前驱结点,直接后继结点

7.在链表中,删除最后一个结点的算法时间复杂度为O(1)。

答:双向循环

8.访问一个线性表中具有给定值的时间复杂度的数量级是。

答:O(n)

9.由n个数据元素生成一个顺序表,若每次都调用插入算法把一个元素插入到表头,则整个算法的时间复杂度为,若每次都调用插入算法把一个元素插入到表尾,则整个算法的时间复杂度为。答:O(n) ,O(n2)

10.在链表中,可以用表尾指针代替表头指针。

答:双向

11.在链表中,可以用表尾指针代替表头指针。

答:双向

12.根据n个数据元素建立对应的顺序表和单链表存储结构,其算法的时间复杂度最好的情况是,最坏的情况是。

答:O(n) ,O(n2)

13.求线性表的顺序存储和链式存储的长度的算法时间复杂度分别是和。

答:

O(1) , O(n)

14.在一个带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?

答:相同

15.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?

答:不相同

16.阐述顺序表和链表存储方式的特点。

答:

顺序表存储方式为数据分配连续的存储单元,数据元素按逻辑顺序依次存储到相应存储单元中,使得逻辑相邻的数据元素物理也相邻,因此可以实现随即访问线性表的数据元素,即数据访问的时间复杂度为O(1)。

链表存储方式分配的存储单元可以不连续,通过每个结点的指针域来表示数据元素之间的逻辑关系,只能顺序访问线性表中的数据元素。

17.若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用何种存储结构,为什么?

答:若频繁地对一个线性表进行插入和删除操作,则该线性表宜采用链式存储结构。因此链式存储结构在插入和删除数据元素时不需要移动数据元素,只需要修改结点的指针域就可以改变数据元素之间的逻辑关系。

18.在单链表、双向循环链表和单循环链表中,若仅知道指针p指向某结点,不知道头指针,能否将结点p从相应的链表中删除?若可以,时间复杂度各为多少。

答:要实现删除p结点的操作,必须找到其前驱结点,修改其指针域的值使其指向p的后继结点,以实现删除结点p。单链表不行,因此不知道头指针就无法找到结点p的前驱结点。双向循环链表和单循环链表可以可以实现删除p结点。单循环链表删除p结点的时间复杂度为O(n),双循环链表删除P结点的时间复杂度为O(1)。

19.对链表设置头结点的作用是什么?

答:

对带头结点的链表,在表的任何结点之前插入结点或删除任何位置的结点,所要做的都是修改前一个结点的指针域,因为在带头结点的链表中任何元素结点都有前驱结点。如果没有头结点,在首元结点前插入结点或删除首元结点都要修改头指针,其算法要比不带头结点的算法复杂些。

其次,带头结点的链表结构,初始化后的头指针就固定了,除撤销算法外,所有算法都不会修改头指针,可以减少出错的可能性。

20.已知一个线性表用含头结点的单链表做存储结构,写一个算法求单链表的长度。

答:

int listlenght(linklist L)

{ int length=0;

P=L->next;

while(p)

{ length++;

p=p->next;

}

return(length);

}

21.已知一个顺序表L,其中的元素按值递增有序排列,设计一个算法插入一个值为x的元素后保持该顺序表仍然递增有序,且空间复杂度为0(1)。

答:

void insertsq(sqlist L,elemtype x)

{ n=L.length-1;

if(LT(L.elem[n],x)

{ n++;

L.elem[n]=x;

}

else{

while(n>=0&<(x,L.elem[n])

{ L.elem[n+1]=L.elem[n];

n--;

}

L.elem[n+1]=L.elem[n];

}

return;

22.写一个算法,从顺序表中删除值为x的所有元素。

答:

void delallsq(Sqlist &L)

{ int i=0,j=0;

while(j

{ if(L.elem[j]!=x)

L.elem[i++]=L.elem[j];

j++;

}

L.longth=i;

}

23.数据的物理结构包括的表示和的表示。

答:线性结构 , 非线性结构

24.数据逻辑结构包括、、和四种,树结构和图结构统称为

答:集合、线性结构、树、图、非线性结构

25.数据结构研究的是和以及它们之间的相互关系,并对于这种结构定义相应的,设计出相应的。

答:逻辑结构,物理结构,运算,算法

数据结构练习试卷1(题后含答案及解析)

数据结构练习试卷1(题后含答案及解析) 题型有:1. 选择题 选择题(每小题1分,共75分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。 1.数据结构主要研究数据的______。 A.逻辑结构 B.存储结构 C.逻辑结构和存储结构 D.逻辑结构和存储结构及其运算的实现 正确答案:D 解析:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构一般包括三方面的内容:①数据之间的逻辑关系。从逻辑关系上描述数据,与数据的存储无关。②数据的存储结构。存储结构分为顺序结构和链式结构,是逻辑结构在计算机存储器中的表示,它包括数据元素的表示和关系的表示。③数据的运算。也就是在数据上所施加的一系列操作。只考虑操作的功能是怎样的,暂不考虑如何实现。综上所述,本题的正确答案为选项D。知识模块:数据结构 2.在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。按逻辑结构的不同,数据结构通常可分为______两类。 A.线性结构和非线性结构 B.紧凑结构和稀疏结构 C.动态结构和静态结构 D.内部结构和外部结构 正确答案:A 解析:在数据结构中,结点(数据元素)及结点间的相互关系组成数据的逻辑结构。按逻辑结构的不同,数据结构通常可分为线性结构和非线性结构两类。本题正确答案为选项A。知识模块:数据结构 3.下面叙述不正确的是______。 A.算法的执行效率与数据的存储结构有关 B.算法的空间复杂度是指执行这个算法所需要的内存空间 C.算法的有穷性是指算法必须能在执行有限个步骤之后终止 D.算法的时间复杂度是指执行这个算法所需要的时间 正确答案:D 解析:算法的时间复杂度是指执行算法所需要的计算工作量,故D选项不

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

第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. 串

数据结构试题_试卷一_已填答案

模拟试题一 模拟试题一 一、选择题(30分) 1.组成数据的基本单位是( C )。 A)数据项B)数据类型C)数据元素 D)数据变量 2.线性表采用链式存储结构时,要求内存中可用存储单元的地址( D )。 A)必须是连续的B)部分地址必须是连续的 C)一定是不连续的 D)连续或不连续都可以 3.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( B )。 A)O(1) B)O(n) C) O(n2) D) O(nlog2n) 4.栈结构通常采用的两种结构是( A )。 A)顺序存储结构和链表存储结构 B)散列方式和索引方式 C)链表存储结构和数组 D)线性链表结构和非线性存储结构 5.表达式a*(b+c)-d的后缀表达式是( B )。 A) abcd+- B)abc+*d- C)abc*+d- D)一十*abcd 6.栈和队列的共同特点是(C )。 A)都是先进先出B)都是先进后出 C)只允许在端点处插入和删除元素 D)没有共同点 7.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( B )。 A) GEDHFBCA B) DGEBHFCA C) ABCDEFGH D) ACBFEDHG 8.链表不具有的特点是( B ), A)不必事先估计存储空间 B)可随机访问任一元素 C)插入删除不需要移动元素 D)所需空间与线性表长度成正比 9.在深度为5的满二叉树中,叶子结点的个数为( C )。 A) 32 B) 31 C) 16 D) 15 10.最简单的交换排序方法是( D )。 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 11.数据结构是研究数据的( C )以及它们之间的相互关系。 A)理想结构,物理结构 B)理想结构,抽象结构

数据结构试题及答案(1)A

数据结构试卷 一、填空殖(每空1分共20分) 1.数据的物理结构主要包括___顺序存储结构__________和_链式_____________两种情 况。 2.设一棵完全二叉树中有500个结点,则该二叉树的深度为_______9___;若用二叉链表作 为该完全二叉树的存储结构,则共有______501_____个空指针域. 3.设输入序列为1、2、3,则经过栈的作用后可以得到_____6______种不同的输出序列。 4.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和 等于顶点i的___出度_____,第i列上所有元素之和等于顶点i的____入度____。 5.设哈夫曼树中共有n个结点,则该哈夫曼树中有___0_____个度数为1的结点。 6.设有向图G中有n个顶点e条有向边,所有的顶点入度数之和为d,则e和d的关系为 ____e=d_____。 7.____中序______遍历二叉排序树中的结点可以得到一个递增的关键字序列(填先序、中 序或后序). 8.设查找表中有100个元素,如果用二分法查找方法查找数据元素X,则最多需要比较 _____7___次就可以断定数据元素X是否在查找表中。 9.不论是顺序存储结构的栈还是链式存储结构的栈,其入栈和出栈操作的时间复杂度均为 ______1______。 10.设有n个结点的完全二叉树,如果按照从自上到下、从左到右从1开始顺序编号,则第 i个结点的双亲结点编号为___i/2_________,右孩子结点的编号为____2i+1_______。 11.设一组初始记录关键字为(72,73,71,23,94,16,5),则以记录关键字72为基准的一 趟快速排序结果为_____5 16 71 23 72 94 73______。 12.设有向图G中有向边的集合E={〈1,2〉,<2,3>,〈1,4〉,〈4,2>,〈4,3〉},则该图的 一种拓扑序列为___1 4 2 3___。 13.下列算法实现在顺序散列表中查找值为x的关键字,请在下划线处填上正确的语句。 struct record{int key;int others;}; int hashsqsearch(struct record hashtable[ ],int k) { int i,j; j=i=k %p; while (hashtable[j]。key!=k&&hashtable[j].flag!=0){j=(____)%m;if (i==j)return(-1);} if (_______________________ )return(j); else return(-1); 二、选择题(每题1分,共20分) 1.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={〈01,02>,<01,03>,<01,04〉,<02,05〉,<02,06〉,〈03,07>,<03,08〉,〈03,09>},则数据结构A是( B )。 (A) 线性结构(B)树型结构(C) 物理结构(D)图型结构 2.下面程序的时间复杂为(B) for(i=1,s=0;i〈=n;i++){t=1;for(j=1;j〈=i;j++)t=t*j;s=s+t;} (A) O(n) (B) O(n2) (C) O(n3)(D) O(n4) 3.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A )。 (A) q=p—〉next;p-〉data=q->data;p—〉next=q—〉next;free(q); (B) q=p—〉next;q—>data=p-〉data;p-〉next=q->next;free(q);

《数据结构》单元测试1(含答案)

《数据结构》单元测试1 一、选择题(每题2分,共40分) 1.数据的最小单位是( A)。 (A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量 2. 栈和队列的共同特点是( A )。 (A)只允许在端点处插入和删除元素 (B)都是先进后出(C)都是先进先出 (D)没有共同点 3. 用链接方式存储的队列,在进行插入运算时( D )。 (A)仅修改头指针(B)头、尾指针都要修改 (C)仅修改尾指针 (D)头、尾指针可能都要修改 4. 以下数据结构中哪一个是非线性结构?( D ) (A)队列(B)栈(C)线性表(D)二叉树 5.函数substr(“DATASTRUCTURE”,5,9)的返回值为( A )。 (A) “STRUCTURE”(B) “DATA” (C) “ASTRUCTUR”(D) “DATASTRUCTURE”6.设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为( D)。 (A) O(log2n) (B) O(1) (C) O(n2) (D) O(n) 7.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N0=( B)。 (A) Nl+N2+……+Nm(B) 1+N2+2N3+3N4+……+(m-1)Nm

(C) N2+2N3+3N4+……+(m-1)Nm (D) 2Nl+3N2+……+(m+1)Nm 8.设有序表中有1000个元素,则用二分查找查找元素X最多需要比较( B)次。 (A) 25 (B) 10 (C) 7 (D) 1 9. 二叉树的第k层的结点数最多为( D )。 (A)2k-1 (B) 2K+1 (C) 2K-1 (D)2k-1 10. 树最适合用来表示( C )。 (A)有序数据元素(B)无序数据元素 (C)元素之间具有分支层次关系的数据 (D)元素之间无联系的数据个权构成一棵Huffman树,其节点总数为( A )。 (A)2n-1(B) 2n (C) 2n+1 (D)不确定 12.下面程序的时间复杂为(B ) for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;} (A) O(n) (B) O(n2)(C) O(n3) (D) O(n4) 13.设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为( A)。 (A) q=p->next;p->data=q->data;p->next=q->next;free(q); (B) q=p->next;q->data=p->data;p->next=q->next;free(q); (C) q=p->next;p->next=q->next;free(q); (D) q=p->next;p->data=q->data;free(q); 14.设无向图G中有n个顶点e条边,则其对应的邻接表中的表头结点和表结点的个数分别为( D)。

数据结构试卷一及答案

数据结构试卷一 一、选择题20分 1.组成数据的基本单位是 ; A 数据项 B 数据类型 C 数据元素 D 数据变量 2.设数据结构A=D,R,其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A 是 ; A 线性结构 B 树型结构 C 图型结构 D 集合 3.数组的逻辑结构不同于下列的逻辑结构; A 线性表 B 栈 C 队列 D 树 4.二叉树中第ii≥1层上的结点数最多有个; A 2i B 2i C 2i-1 D 2i-1 5.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为 ; A p->next=p->next->next B p=p->next C p=p->next->next D p->next=p 6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是 ; A 6 B 4 C 3 D 2 7.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为 ; A 100 B 40 C 55 D 80 8.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为 ; A 3 B 4 C 5 D 1 9.根据二叉树的定义可知二叉树共有种不同的形态; A 4 B 5 C 6 D 7 10.设有以下四种排序方法,则的空间复杂度最大; A 冒泡排序 B 快速排序 C 堆排序 D 希尔排序 二、填空题30分 1.设顺序循环队列Q0:m-1的队头指针和队尾指针分别为F和R,其中队头指针F指向当 前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;; 2.设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为 ___________,在链式存储结构上实现顺序查找的平均时间复杂度为___________; 3.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有 ________个指针域,__________个空指针域; 4.设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面 插入结点B的操作序列为______________________________________; 5.设无向图G中有n个顶点和e条边,则其对应的邻接表中有_________个表头结点和 _________个表结点; 6.设无向图G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有______关系;

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

数据结构试卷(一) 一、单选题(每题2 分,共20分) 1.栈和队列的共同特点是( )。 A.只允许在端点处插入和删除元素 B。都是先进后出 C。都是先进先出 D。没有共同点 2.用链接方式存储的队列,在进行插入运算时( )。 A. 仅修改头指针 B。头、尾指针都要修改 C. 仅修改尾指针 D。头、尾指针可能都要修改 3.以下数据结构中哪一个是非线性结构?() A. 队列B。栈 C. 线性表 D. 二叉树 4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个 空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。 A.688 B.678 C.692 D.696 5.树最适合用来表示( ). A.有序数据元素 B.无序数据元素 C。元素之间具有分支层次关系的数据D。元素之间无联系的数据 6.二叉树的第k层的结点数最多为( ). A.2k—1 B.2K+1 C.2K—1 D。 2k—1 7.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3] 的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 8.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为 A。 O(1)B。 O(n) C. O(1og2n) D。 O(n2) 9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列 地址为1的元素有()个, A.1 B.2 C.3 D.4 10.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图. A。5 B.6 C.7 D。8 二、填空题(每空1分,共26分) 1.通常从四个方面评价算法的质量:_________、_________、_________和_________。 2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________. 3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为 ___________,树的度为_________。 4.后缀算式9 2 3 +—10 2 / -的值为__________.中缀算式(3+4X)—2Y/3对应的后缀算式为 _______________________________。 5.若用链表存储一棵二叉树时,每个结点除数据域外,还有指向左孩子和右孩子的两个指针。在这种存储结构中,n 个结点的二叉树共有________个指针域,其中有________个指针域是存放了地址,有________________个指针是空指针. 6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别有_______个和________ 个。 7.AOV网是一种___________________的图. 8.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________ 条边。 9.假定一个线性表为(12,23,74,55,63,40),若按Key %4条件进行划分,使得同一余数的元素成为一个子表, 则得到的四个子表分别为____________________________、___________________、_______________________和__________________________。 10.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。 11.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为 ________. 12.在快速排序、堆排序、归并排序中,_________排序是稳定的。 三、计算题(每题6 分,共24分) 1.在如下数组A中链接存储了一个线性表,表头指针为A [0].next,试写出该线性表。

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

数据结构试题 一、单选题 1、在数据结构的讨论中把数据结构从逻辑上分为(C ) A 内部结构与外部结构 B 静态结构与动态结构 C 线性结构与非线性结构 D 紧凑结构与非紧凑结构。 2、采用线性链表表示一个向量时,要求占用的存储空间地址(D ) A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 可连续可不连续 3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。 A n B n/2 C (n-1)/2 D (n+1)/2 4、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。 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; 5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。 A 起泡排序 B 堆排序 C 锦标赛排序 D 快速排序 6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。 A 求子串 B 模式匹配 C 串替换 D 串连接 7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。 A 80 B 100 C 240 D 270 8、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。 A 栈 B 队列 C 循环队列 D 优先队列 9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。 10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。 A ( front - rear + 1) % m B ( rear - front + 1) % m C ( front - rear + m) % m D ( rear - front + m) % m

数据结构试题1

数据结构 1.向一个长度为n的顺序表中的第i个元素之前插入一个元素时,需要向后移动个元素。 答:n-i+1 2.在一个长度为n的顺序表中删除第i个元素时,需要向前移动元素。 答: n-i 3.在单链表中设置头结点的作用是。 答:简单插入、删除算法 4.在单链中要删除某一指定结点,必须找到该结点的结点。 答:直接前驱 5.访问单链表中的结点,必须沿着依次进行。 答:指针域 6.在双链表中每个结点有两个指针域,一个指向,一个指向。 答:直接前驱结点,直接后继结点 7.在链表中,删除最后一个结点的算法时间复杂度为O(1)。 答:双向循环 8.访问一个线性表中具有给定值的时间复杂度的数量级是。 答:O(n) 9.由n个数据元素生成一个顺序表,若每次都调用插入算法把一个元素插入到表头,则整个算法的时间复杂度为,若每次都调用插入算法把一个元素插入到表尾,则整个算法的时间复杂度为。答:O(n) ,O(n2) 10.在链表中,可以用表尾指针代替表头指针。 答:双向 11.在链表中,可以用表尾指针代替表头指针。 答:双向 12.根据n个数据元素建立对应的顺序表和单链表存储结构,其算法的时间复杂度最好的情况是,最坏的情况是。 答:O(n) ,O(n2) 13.求线性表的顺序存储和链式存储的长度的算法时间复杂度分别是和。 答: O(1) , O(n) 14.在一个带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同? 。 答:相同 15.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同? 。 答:不相同 16.阐述顺序表和链表存储方式的特点。 答:

数据结构试题一及答案

数据结构试题一及答案 一、单选题(每题2分,共40分) 1.数据结构中,与所使用的计算机无关的是数据的()结构; A. 存储 B. 物理 C. 逻辑 D. 物理和存储 2.算法分析的目的是() A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 3.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()A. 存储结构 B. 逻辑结构 C. 顺序存储结构 D. 链式存储结构 4.链表是一种采用()存储结构存储的线性表 A. 顺序 B. 链式 C. 星式 D. 网状 5.栈中元素的进出原则是() A. 先进先出 B. 后进先出 C. 栈空则进 D. 栈满则出 6.串是一种特殊的线性表,其特殊性体现在() A. 可以顺序存储 B. 数据元素是一个字符 C. 可以链式存储 D. 数据元素可以是多个字符 7.设有两个串p和q,求q在p中首次出现的位置的运算称作() A. 连接 B. 模式匹配 C. 求子串 D. 求串长 8.在循环队列中用数组A[m] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是()。 A. (front - rear + 1)% m B. (rear - front +1)% m C. (front - rear + m)% m D. (rear - front + m)% m 为第9.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a 11 一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。 A. 13 B. 33 C. 18 D. 40 10.将一棵树T转换为孩子—兄弟链表表示的二叉树H,则T的后序遍历是H的

数据结构试题1(有答案)

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

数据结构试卷1(含答案)

数据结构试卷1(含答案) 数据结构试卷 一、单项选择题(本大题 共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1 . 下列选项中与数据存储结构无关的术语是() A.顺序表 B.链表 C. 链队列 D.栈 2 . 将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是() A.n-1 B.n C.2n-1 D.2n 3 . 已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear 指向 队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是() A.rear=(rear-1)%m; B.front=(front+1)%m; C.front=(front-1)%m; D.rear=(rear+1)%m; 4

. 递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是() A.堆栈 B.多维数组 C. 队列 D. 线性表 5 . 设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为()A.求子串 B.串联接 C.串匹配D.求串长6 . 对于广义表A,若head(A)等于tail(A),则表A为() A.() B.(()) C.((),()) D.((),(), ()) 7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一 定是() A.结点均无左孩子的二叉树 B.结点均无右孩子的二叉树 C.高度为n的二叉树 D.存在度为2的结点的二叉树 8.若一棵二叉树中度 为l的结点个数是3,度为2 的结点个数是4,则该二叉树叶子结点的个数是() A.4 B.5 C.7 D.8 9. 某算法有3 个程序段,第一程序段的执行次数为错误!未找到

数据结构试题及答案1

数据构造?自考复习考虑题○1 第一部分选择题(30分) 一、单项选择题〔本大题共15小题,每题2分,共30分〕在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.算法指的是〔D〕 A.计算机程序 B.解决问题的计算方法 C.排序算法 D.解决问题的有限运算序列 2.线性表采用链式存储时,结点的存储地址〔 B 〕 A.必须是不连续的 B.连续与否均可 C.必须是连续的 D.和头结点的存储地址相连续 3.将长度为n的单链表链接在长度为m的单链表之后的算法的时间复杂度为〔 C 〕 A.O〔1〕 B.O〔n〕C.O〔m〕 D.O〔m+n〕4.由两个栈共享一个向量空间的好处是:〔 B 〕 A.减少存取时间,降低下溢发生的机率 B.节省存储空间,降低上溢发生的机率 C.减少存取时间,降低上溢发生的机率 D.节省存储空间,降低下溢发生的机率 5.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,那么执行出队操作后其头指针front值为〔D〕 A.front=front+1 B.front=(front+1)%(m-1) C.front=(front-1)%m D.front=(front+1)%m 6.如下陈述中正确的选项是〔A〕 A.串是一种特殊的线性表B.串的长度必须大于零 C.串中元素只能是字母D.空串就是空白串 7.假设目的串的长度为n,形式串的长度为[n/3],那么执行形式匹配算法时,在最坏情况下的时间复杂度是〔 C 〕10

A.O〔〕 B.O〔n〕C.O〔n2〕 D.O〔n3〕 8.一个非空广义表的表头〔D〕 A.不可能是子表B.只能是子表 C.只能是原子D.可以是子表或原子 9.假设以带行表的三元组表表示稀疏矩阵,那么和以下行表( A ) 10.在一棵度为3的树中,度为3的结点个数为2,度为2 的结点个数为1,那么度为0的结点个数为( C) A.4 B.5 C.6 D.7 11.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为( D) A.e B.2e C.n2-e D.n2-2e 12.假设一个有n个顶点和e条弧的有向图用邻接表表示,那么删除与某个顶点vi相关的所有弧的时间复杂度是( C ) A.O(n) B.O(e) C.O(n+e) D.O(n*e) 13.用某种排序方法对关键字序列〔25,84,21,47,15,27,68,35,20〕进展排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84

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

数据结构模拟试题一 一、判断题(每小题1 分,共15分) 1.计算机程序处理的对象可分为数据和非数据两大类。 2.全体自然数按大小关系排成的序列是一个线性表。 3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针 字段。 4.顺序栈是一种规定了存储方法的栈。 5.树形结构中的每个结点都有一个前驱。 6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。 7.若某顶点是有向图的根,则该顶点的入度一定是零。 8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。 9.用一维数组表示矩阵可以节省存储空间。 10.广义表的长度与广义表中含有多少个原子元素有关。 11.分块查找的效率与线性表被分成多少块有关。 12.散列表的负载因子等于存入散列表中的结点个数。 13.在起泡排序过程中,某些元素可能会向相反的方向移动。 14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。 15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排 列。 二、填空题(每空1分,共15分) 1.顺序表是一种_____________线性表。 2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行 ___次插入操作。 3.栈和队列的区别在于________的不同。 4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。 5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有 ___个左指针域为空的结点,有___个右指针域为空的结点。 6.n个顶点的有根有向图中至少有___条边,至多有___条边。 7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺 序表中第___个元素。 8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序 表中查找一个元素,元素间的平均比较次数是_____。 9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是 ___次。 10.在高度为3的6阶B-树中,至少有___个关键字,至多有___个关键字。 三、选择题(每题2分,共30分) 1.计算机所处理的数据一般具有某种内在联系性,这是指________。 A.元素和元素之间存在某种关系 B.数据和数据之间存在某种关系 C.元素内部具有某种结构 D.数据项和数据项之间存在某种关系 2. 假设顺序表目前有4个元素,第i个元素放在R[i]中,1≤i≤4 。若把新插入元素存入R[6],则________。 A.会产生运行错误 B.R[1]~R[6]不构成一个顺序表 C.顺序表的长度大于顺序表元素个数,会降低存储空间利用率

数据结构试题1

考试题1 一(9分)、顺序表的插入和删除要求仍然保持各个元素原来的次序。设在等概率情形下, 对有127个元素的顺序表进行插入, 平均需要移动多少个元素? 删除一个元素, 又平均需要移动多少个元素? 二(9分)、设A 和B 均为下三角矩阵,每一个都有n 行n 列。因此在下三角区域中各有n(n+1)/2个元素。另设有一个二维数组C ,它有n 行n+1列。试设计一个方案,将两个矩阵A 和B 中的下三角区域元素存放于同一个C 中。要求将A 的下三角区域中的元素存放于C 的下三角区域中,B 的下三角区域中的元素转置后存放于C 的上三角区域中。并给出计算A 的矩阵元素a ij 和B 的矩阵元素b ij 在C 中的存放位置下标的公式。 三(9分)、铁路进行列车调度时, 常把站台设计成栈式结构的站台,如右图所示。试问: (1) 设有编号为1,2,3,4,5,6的六辆列车, 顺序开入栈式结构的站台, 则可能的出栈序列有多少种? (2) 若进站的六辆列车顺序如上所述, 那么是否能够得到435612, 325641, 154623和135426的出站序列, 如果不能, 说明为什么不能; 如果能, 说明如何得到(即写出"进栈"或"出栈"的序列)。 四(9分)、列出右图所示二叉树的叶结点、分支结点和每个结点的层次。 五(9分)、在结点个数为n (n>1)的各棵树中,高度最小的树的高度是多少?它有多少个叶结点?多少个分支结点?高度最大的树的高度是多少?它有多少个叶结点?多少个分支结点? 六(9分)、试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。 七(9分)、写出向堆中加入数据4, 2, 5, 8, 3, 6, 10, 14时,每加入一个数据后堆的变化。

数据结构第一章测验

数据结构第一章测验 1 . ()由某一数据元素的集合以及该集合中所有数据元素之间的关系组成。 A. 数据结构 B. 逻辑结构 C. 物理结构 D. 线性结构 E. 非线性结构 输入答案: A 答题正确 2 . 数据的()是面向问题的 A. 数据结构 B. 逻辑结构 C. 物理结构 D. 线性结 E. 非线性结构 输入答案: B 答题正确 3 . 数据的()是面向计算机的 A. 数据结构 B. 逻辑结构 C. 物理结构 D. 线性结构 E. 非线性结构 输入答案: C 答题正确 4 . 在()中的各个数据成员依次排列在一个线性序列中。 A. 数据结构

B. 逻辑结构 C. 物理结构 D. 线性结构 E. 非线性结构 输入答案: D 答题正确 5 . ()中的各个数据成员不在一个线性序列中,数据元素成员可能与零个或多个其他数据成员发生联系。 A. 数据结构 B. 逻辑结构 C. 物理结构 D. 线性结构 E. 非线性结构 输入答案: E 答题正确 6 . ()是组成数据的基本单位。 A. 数据项 B. 数据对象 C. 数据元素 D. 数据类型 E. 操作 F. 抽象数据类 输入答案: C 答题正确 7 . ()是有独立含义的最小单位, A. 数据项 B. 数据对象 C. 数据元素 D. 数据类型

E. 操作 F. 抽象数据类型 输入答案: A 答题正确 8 . ()是性质相同的数据元素的集合。 A. 数据项 B. 数据对象 C. 数据元素 D. 数据类型 E. 操作 F. 抽象数据类型 输入答案: B 答题正确 9 . ()是描述客观事物的数值、字符以及能输入机器且能被处理的各种符号集合。 A. 数据项 B. 数据对象 C. 数据 D. 操作 输入答案: C 答题正确 10 . ()是一组性质相同的值集合以及定义在这个值集合上的一组操作的总称 A. 数据 B. 数据元素 C. 操作 D. 数据类型 输入答案: D 答题正确 11 . ()是指基于一类逻辑关系的数据类型以及定义在这个类型

数据结构单元测试题一

《数据结构》单元测试题一 系班级姓名学号. 一、单项选择题(在每小题的四个备选答案中选出一个正确的答案,并将其号码填 在题干后的号码内,每小题2分,共30分) 1. 数据结构是指()。 A.数据元素的组织形式 B.数据类型 C.数据存储结构 D.数据定义 2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为()。 A.存储结构 B.逻辑结构 C.链式存储结构 D.顺序存储结构 3. 树形结构是数据元素之间存在一种()。 A.一对一关系 B.多对多关系 C.多对一关系 D.一对多关系 4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为()。 for(i=1; i<=n; i++) for(j=i; j<=n; j++) x++; A.O(1) B.O() C.O(n) D.O() 5. 在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动个元素。 A.n-i B.n-i+l C.n-i-1 D.i 6. 线性表采用链式存储时,其地址________。 A.必须是连续的B.一定是不连续的 C.部分地址必须是连续的D.连续与否均可以 7. 从一个具有n个结点的单链表中查找其值等于x的结点时,在查找成功的情况下,需平均比较________个元素结点。 A.n/2 B.n C.(n+1)/2 D.(n-1)/2 8.下图所示的是线性表的链接存储结构,采用的是( )链表。 A. 单链表 B. 十字链表 C.双链表 D.循环链表 9.二叉树中度为零的结点称为( )结点。 A. 单分支 B. 双分支 C. 根 D. 叶子 10.某二叉树的前序遍历结点访问的顺序是abdgcefh,中序遍历结点访问顺序是dgbaechf,则其后序遍历结点访问顺序是() A.bdgcefhaB.gdbecfha C.gdbehfcaD.bdgaechf 11.算法指的是() A.计算机程序 B.解决问题的有限运算序列 C.排序算法 D.解决问题的计算方法 12.线性表采用链式存储时,结点的存储地址() A.连续与否均可 B.必须是不连续的 C.必须是连续的 D.和头结点的存储地址相连续 13.空串与空格字符组成的串的区别在于()。 A.没有区别 B.两串的长度不相等 C.两串的长度相等 D.两串包含的字符不相同 14.一个子串在包含它的主串中的位置是指()。 A.子串的最后那个字符在主串中的位置 B.子串的最后那个字符在主串中首次出现的位置 C.子串的第一个字符在主串中的位置 D.子串的第一个字符在主串中首次出现的位置 15.已知二维数组A10 ×10 中,元素a20的地址为560,每个元素占4个字节,则元素a10的地址为()。 A.520 B.522 C.524 D.518 二、填空题(每空1.5分,共30分) 1.一维数组的逻辑结构是______________,存储结构是______________;对于二维或多维数组,分为______________和______________两种不同的存储方式。 2.对于一个二维数组A[m][n],若按行序为主序存储,则任一元素A[i][j]相对于A[0][0]的地址为______________。 3.一个广义表为(a,(a,b),d,e,((i,j),k)),则该广义表的长度为_____,深度为_____。 4.栈是一种运算受限的线性表,其限制是仅允许在表的一端进行插入和删除操作,进行操作的这一端称为,与其对应的另一端称为。 5. 在树型结构中,树根结点没有__________________结点,其余每个结点的有且只有__________________个前趋驱结点;叶子结点没有__________________结点;其余每个结点的后续结点可以__________________。 6. 在图型结构中,每个结点的前趋结点数和后续结点数可以__________________。 7. 线性结构中元素之间存在__________________关系;树型结构中元素之间存在

数据结构考试题1

要求:所有的题目的解答均写在答题纸上,需写清楚题目的序号.每张答题纸都要写上姓名和学号. 一、单项选择题(每小题1。5分,共计30分) 1。数据结构是指。 A。一种数据类型 B. 数据的存储结构 C. 一组性质相同的数据元素的集合 D. 相互之间存在一种或多种特定关系的数据元素的集合 2. 以下算法的时间复杂度为。 void fun(int n) { int i=1; while (i<=n) i++; } A. O(n) B. O(n) C. O(nlog2n)D。O(log2n) 3. 在一个长度为n的有序顺序表中删除元素值为x的元素时,在查找元素x时采用二分查找,此时的时间复杂度为。 A。O(n) B. O(nlog2n) C。O(n2) D. O(n) 4. 在一个带头结点的循环单链表L中,删除元素值为x的结点,算法的时间复杂度为. A. O(n)B。O(n) C. O(nlog2n)D。O(n2) 5。若一个栈采用数组s[0。.n-1]存放其元素,初始时栈顶指针为n,则以下元素x进栈的正确操作是。 A。top++;s[top]=x; B.s[top]=x;top++; C.top-—;s[top]=x;B。s[top]=x;top—-; 6。中缀表达式“2*(3+4)—1”的后缀表达式是,其中#表示一个数值的结束. A. 2#3#4#1#*+— B. 2#3#4#+*1#— C. 2#3#4#*+1#— D. —+*2#3#4#1# 7。设环形队列中数组的下标为0~N-1,其队头、队尾指针分别为front和rear(front 指向队列中队头元素的前一个位置,rear指向队尾元素的位置),则其元素个数为。 A。rear-front B。rear-front—1 C. (rear—front)%N+1 D。(rear—front+N)%N 8。若用一个大小为6的数组来实现环形队列,队头指针front指向队列中队头元素的前一个位置,队尾指针rear指向队尾元素的位置。若当前rear和front的值分别为0和3,当

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