数据结构综合练习题_第1页
数据结构综合练习题_第2页
数据结构综合练习题_第3页
数据结构综合练习题_第4页
数据结构综合练习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据结构(一)一、选择题1组成数据的基本单位是( C )。 (A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2设数据结构A=(D,R),其中D=1,2,3,4,R=r,r=,则数据结构A是( C )。(A) 线性结构(B) 树型结构 (C) 图型结构(D) 集合3数组的逻辑结构不同于下列( D )的逻辑结构。(A) 线性表(B) 栈 (C) 队列(D) 树4二叉树中第i(i1)层上的结点数最多有(C )个。(A) 2i(B) 2i(C) 2i-1(D) 2i-15设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为(A )。(A) p-next=p-next-nex

2、t(B) p=p-next(C) p=p-next-next(D) p-next=p6设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是( C )。(A) 6(B) 4(C) 3(D) 27将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为( C )。(A) 100(B) 40(C) 55(D) 808设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。(A) 3(B) 4(C) 5(D) 19根据二叉树的定义可知二叉

3、树共有( B )种不同的形态。(A) 4(B) 5(C) 6(D) 710. 设有以下四种排序方法,则( B )的空间复杂度最大。(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序11、以下说法正确的是 ( A )A.连通图的生成树,是该连通图的一个极小连通子图。B.无向图的邻接矩阵是对称的,有向图的邻接矩阵一定是不对称的。C.任何一个有向图,其全部顶点可以排成一个拓扑序列。D.有回路的图不能进行拓扑排序。12、以下说法错误的是 ( D ) A.一般在哈夫曼树中,权值越大的叶子离根结点越近B.哈夫曼树中没有度数为1的分支结点C.若初始森林中共有n裸二叉树,最终求得的哈夫曼树共有2n

4、-1个结点D.若初始森林中共有n裸二叉树,进行2n-1次合并后才能剩下一棵最终的哈夫曼树13、如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是( B ) A.完全图 B.连通图 C.有回路 D.一棵树14、将一棵有50个结点的完全二叉树按层编号,则对编号为25的结点x,该结点(B ) A.无左、右孩子 B.有左孩子,无右孩子C.有右孩子,无左孩子 D.有左、右孩子15、深度为6的二叉树最多有(B )个结点 A.64 B.63 C.32 D.3116、一个有序顺表有255个对象,采用顺序搜索法查表,搜索长度为( A )。A、128 B、127 C、126 D、2551

5、7、在有向图中每个顶点的度等于该顶点的( C )。A. 入度 B. 出度C. 入度与出度之和 D. 入度与出度之差18、具有n个顶点的有向无环图最多可包含( D )条有向边。 An-1 Bn Cn(n-1)/2 Dn(n-1)19、用邻接表作为有向图G的存储结构。设有n个顶点、e条弧,则拓扑排序的时间复杂度为(B ) A. O(n) B. O(n+e) C. O(e) D. O(n*e)20、一个有序顺表有255个对象,采用顺序搜索法查表,搜索长度为(A)。A、128 B、127 C、126 D、25521、在有向图中,所有顶点的入度之和是所有顶点出度之和的(B)倍。 A.0.5 B. 1 C

6、. 2 D.4 22、以下说法错误的是(B)A.用相邻矩阵法存储一个图时,在不考虑压缩存储的情况下,所占用的存储空间大小只与图中结点个数有关,而与图的边数无关。B.邻接表法只能用于有向图的存储,而相邻矩阵法对于有向图和无向图的存储都适用。C.存储无向图的相邻矩阵是对称的,因此只要存储相邻矩阵的下(或上)三角部分就可以了D.用相邻矩阵A表示图,判定任意两个结点Vi和Vj之间是否有长度为m的路径相连,则只要检查A的第 i行第j列的元素是否为0即可。23、在图的邻接表存储结构上执行深度优先搜索遍历类似于二叉树上的( A )A.先根遍历 B. 中根遍历 C. 后根遍历 D按层次遍历24、在一个无向图中

7、,所有顶点的度数之和等于所有边数的( B )倍。A3 B2 C1 D1/225、在无向图中,所有顶点的度数之和是所有边数的( C )倍。A.0.5 B.1 C.2 D.4 26、设有6个结点的无向图,该图至少应有(B)条边能确保是一个连通图。 A. 5 B. 6 C. 7 D. 827、以下说法正确的是( D )A.连通分量是无向图中的极小连通子图。B.强连通分量是有向图中的极大强连通子图。C.在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧。D.对有向图G,如果从任意顶点出发进行一次深度优先或广度优先搜索能访问到每个顶点,则该图一定是完全图。二、填空题1. 设顺序循环队列Q0

8、:m-1的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =_;。2. 设线性表中有n个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为_,在链式存储结构上实现顺序查找的平均时间复杂度为_。3. 设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有_个指针域,_个空指针域。4. 设指针变量p指向单链表中结点A,指针变量s指向被插入的结点B,则在结点A的后面插入结点B的操作序列为_。5. 设无向图G中有n个顶点和e条边,则其对应的邻接表中有_个表头结点和_个表结点。6. 设无向图

9、G中有n个顶点e条边,所有顶点的度数之和为m,则e和m有_关系。7. 设一棵二叉树的前序遍历序列和中序遍历序列均为ABC,则该二叉树的后序遍历序列为_。8. 设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编号为8的双亲结点的编号是_,编号为8的左孩子结点的编号是_。9. 下列程序段的功能实现子串t在主串s中位置的算法,要求在下划线处填上正确语句。int index(char s , char t )i=j=0;while(istrlen(s) & jnext=p-next; s-next=s5. n, 2e6. m=2e7. CBA8. 4,169. i-

10、j+1,010. n-1三、应用题1. 链式存储结构略,前序ABDEC,中序DBEAC,后序DEBCA。2. 哈夫曼树略,WPL=783. (18,5,16,19,21,23),(5,16,21,19,18,23)4. 线性探测: 数据结构(二)一、选择题1下面关于线性表的叙述错误的是( )。(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现2设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。(A

11、) 2m-1(B) 2m(C) 2m+1(D) 4m3设顺序循环队列Q0:M-1的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。(A) R-F(B) F-R(C) (R-F+M)M(D) (F-R+M)M4设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。(A) BADC(B) BCDA(C) CDAB(D) CBDA5设某完全无向图中有n个顶点,则该完全无向图中有( )条边。(A) n(n-1)/2(B) n(n-1)(C) n2 (D) n2-16设某棵二

12、叉树中有2000个结点,则该二叉树的最小高度为( )。(A) 9(B) 10(C) 11(D) 127设某有向图中有n个顶点,则该有向图对应的邻接表中有( )个表头结点。(A) n-1(B) n(C) n+1(D) 2n-18设一组初始记录关键字序列(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二、填空题1. 为了能有效地应用HASH查找技术,必须解决的两个问题是_和_。2. 下面程序段的功能实现数据x进栈,要求在下划线处填上正确的语句。typedef s

13、truct int s100; int top; sqstack;void push(sqstack &stack,int x)if (stack.top=m-1) printf(“overflow”);else _;_;3. 中序遍历二叉排序树所得到的序列是_序列(填有序或无序)。4. 快速排序的最坏时间复杂度为_,平均时间复杂度为_。5. 设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,则该二叉树中度数为2的结点数为_;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有_个空指针域。6. 设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e=_。7. 设一组

14、初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为_。8. 设某无向图G的邻接表为,则从顶点V1开始的深度优先遍历序列为_;广度优先遍历序列为_。三、应用题1 设一组初始记录关键字序列为(45,80,47,40,20,78),则分别给出第4趟简单选择排序和第4趟直接插入排序后的结果。2 设指针变量p指向双向链表中结点A,指针变量q指向被插入结点B,要求给出在结点A的后面插入结点B的操作序列(设双向链表中结点的两个指针域分别为llink和rlink)。3 设一组有序的记录关键字序列为(13,18,24,35,47,50,62,83,90),查找方法

15、用二分查找,要求计算出查找关键字62时的比较次数并计算出查找成功时的平均查找长度。4 设一棵树T中边的集合为(A,B),(A,C),(A,D),(B,E),(C,F),(C,G),要求用孩子兄弟表示法(二叉链表)表示出该树的存储结构并将该树转化成对应的二叉树。5 设有无向图G(如右图所示),要求给出用普里姆算法构造最小生成树所走过的边的集合。6 设有一组初始记录关键字为(45,80,48,40,22,78),要求构造一棵二叉排序树并给出构造过程。7、给出如图所示的无向图G的邻接矩阵和邻接表两种存储结构。8、简单选择排序、快速排序和堆排序是不稳定的排序方法, 试举例说明。9、给出下图邻接矩阵和邻

16、接表两种存储结构;写出图的拓扑序列。V2V1V3V6V5V41 (二)参考答案一、选择题1.D2.B3.C4.A5.A6.C7.B8.C二、填空题1. 构造一个好的HASH函数,确定解决冲突的方法2. stack.top+,stack.sstack.top=x3. 有序4. O(n2),O(nlog2n)5. N0-1,2N0+N16. d/27. (31,38,54,56,75,80,55,63)8. (1,3,4,2),(1,3,2,4)三、应用题1. (20,40,45,47,80,78),(40,45,47,80,20,78)2. q-llink=p; q-rlink=p-rlink;

17、 p-rlink-llink=q; p-rlink=q;3. 2,ASL=91*1+2*2+3*4+4*2)=25/94. 树的链式存储结构略,二叉树略5. E=(1,3),(1,2),(3,5),(5,6),(6,4)6. 略8、简单选择排序、快速排序和堆排序是不稳定的排序方法, 试举例说明。【解答】(2) 简单选择排序 275 275* 512 061 i = 1 061275* 512 275 i = 2 061 275* 512 275 i = 3 061 275* 275 512 (3) 快速排序 512275 275* 275*275 512 (4) 堆排序 275 275* 06

18、1 170 已经是最大堆,交换275与170 170 275* 061 275 对前3个调整 275* 170 061 275 前3个最大堆,交换275*与061 061 170 275* 275 对前2个调整 170 061 275* 275 前2个最大堆,交换170与061 061 170 275* 275 数据结构(三)一、选择题1设某无向图有n个顶点,则该无向图的邻接表中有( )个表头结点。(A) 2n(B) n(C) n/2(D) n(n-1)2设无向图G中有n个顶点,则该无向图的最小生成树上有( )条边。(A) n(B) n-1(C) 2n(D) 2n-13设一组初始记录关键字序列

19、为(60,80,55,40,42,85),则以第一个关键字45为基准而得到的一趟快速排序结果是( )。(A) 40,42,60,55,80,85(B) 42,45,55,60,85,80(C) 42,40,55,60,80,85(D) 42,40,60,85,55,804( )二叉排序树可以得到一个从小到大的有序序列。(A) 先序遍历(B) 中序遍历(C) 后序遍历(D) 层次遍历5设按照从上到下、从左到右的顺序从1开始对完全二叉树进行顺序编号,则编号为i结点的左孩子结点的编号为( )。(A) 2i+1(B) 2i(C) i/2(D) 2i-16程序段s=i=0;do i=i+1; s=s+i

20、;while(inext=0(C) head-next=head(D) head!=08设某棵二叉树的高度为10,则该二叉树上叶子结点最多有( )。(A) 20(B) 256(C) 512(D) 10249设一组初始记录关键字序列为(13,18,24,35,47,50,62,83,90,115,134),则利用二分法查找关键字90需要比较的关键字个数为( )。(A) 1(B) 2(C) 3(D) 410.设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为( )。(A) top=top+1;(B) top=top-1;(C) top-next=top;(D) top=top-nex

21、t;二、判断题1、数据的最小单位是数据项。.( )2、多重表文件中主索引为非稠密索引,次索引为稠密索引。.( )3、通常数据结构在计算机中有四种不同的表示方法分为顺序存储结构、链式存储结构、索引存储、文件存储。.( )4、算法具有输入、输出、可行性、稳定性、有穷性五个特性。.( )5、数据的基本单位是数据项。.( )6、算法的复杂度分为时间复杂度和效率复杂度。.( )7、性质相同的数据元素的集合成为数据对象。.( )8、所有结点按1对1的邻接关系构成的整体就是集合结构。.( )9、散列文件不能顺序存取、只能按关键字随机存取。.( )10、数据的基本单位是数据元素。.( )11不论是入队列操作还

22、是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。( )12当向二叉排序树中插入一个结点,则该结点一定成为叶子结点。( )13由树转化成二叉树,该二叉树的右子树不一定为空。( )14线性表中的所有元素都有一个前驱元素和后继元素。( )15.带权无向图的最小生成树是唯一的。( )16.具有12个结点的完全二叉树有5个度为2的结点。()17.关键路径是事件结点网络中的从源点到汇点的最短路径。()18. 由树转化成二叉树,该二叉树的右子树不一定为空。( )19.堆排序是不稳定的排序方法。()20.查找表是由同一类型的数据元素(或记录)构成的集合()三、填空题1. 设指针变量p指向双向链表中的结点A

23、,指针变量s指向被插入的结点X,则在结点A的后面插入结点X的操作序列为_=p;s-right=p-right;_=s; p-right-left=s;(设结点中的两个指针域分别为left和right)。2. 设完全有向图中有n个顶点,则该完全有向图中共有_条有向条;设完全无向图中有n个顶点,则该完全无向图中共有_条无向边。3. 设关键字序列为(Kl,K2,Kn),则用筛选法建初始堆必须从第_个元素开始进行筛选。4. 解决散列表冲突的两种方法是_和_。5. 设一棵三叉树中有50个度数为0的结点,21个度数为2的结点,则该二叉树中度数为3的结点数有_个。6. 高度为h的完全二叉树中最少有_个结点,

24、最多有_个结点。7. 设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟直接插入排序结束后的结果的是_。8. 设有一组初始关键字序列为(24,35,12,27,18,26),则第3趟简单选择排序结束后的结果的是_。9. 设一棵二叉树的前序序列为ABC,则有_种不同的二叉树可以得到这种序列。10. 下面程序段的功能是实现一趟快速排序,请在下划线处填上正确的语句。struct record int key;datatype others;void quickpass(struct record r, int s, int t, int &i) int j=t; struct

25、record x=rs; i=s; while(ij) while (ix.key) j=j-1; if (ij) ri=rj;i=i+1; while (_) i=i+1; if (ileft=p,p-right2. n(n-1),n(n-1)/23. n/24. 开放定址法,链地址法5. 146. 2h-1,2h-17. (12,24,35,27,18,26)8. (12,18,24,27,35,26)9. 510. ij & ri.keyx.key,ri=x数据结构(四)一、选择题1设输入序列是1、2、3、n,经过栈的作用后输出序列的第一个元素是n,则输出序列中第i个输出元素是( c )

26、。(A) n-i(B) n-1-i (C) n+1-i(D) 不能确定2.为查找某一特定单词在文本中出现的位置,可应用的串运算是( ) A.插入 B.删除 C.串联接 D.子串定位3设有序表中有1000个元素,则用二分查找查找元素X最多需要比较( )次。(A) 25 (B) 10 (C) 7 (D) 1 4.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( ) A.顺序表 B.用头指针表示的单循环链表 C.用尾指针表示的单循环链表 D.单链表5设某完全无向图中有n个顶点,则该完全无向图中有( )条边。(A) n(n-1)/2(B) n(n-1)(C) n2 (D) n2-16设

27、某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。(A) 9(B) 10(C) 11(D) 127 在数据结构中,从逻辑上可以把数据结构分为 ( ) A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.内部结构和外部结构 D. 线性结构和非线性结构 8 已知图的邻接表如下所示,根据算法,则从顶点V0出发按广度优先遍历的结点序列是( )A0 3 2 1 B. 0 1 2 3 C. 0 1 3 2 D. 0 3 1 29 若进栈序列为a,b,c,d,e,则栈的不可能的输出序列是 ( ) A. edcba B. dceab C. decba D. abcde 10把一棵树转换为二叉树后,这

28、棵二叉树的形态是( )。A.唯一的 B.有多种C.有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子11.为查找某一特定单词在文本中出现的位置,可应用的串运算是( ) A.插入 B.删除 C.串联接 D.子串定位12.ALV树是一种平衡的二叉树,树中任一结点的( ) A.左、右子树的高度均相同 B.左、右子树高度差的绝对值不超过1 C.左子树的高度均大于右子树的高度 D.左子树的高度均小于右子树的高度 13.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( ) A.顺序表 B.用头指针表示的单循环链表 C.用尾指针表示的单循环链表 D.单链表14. 二叉树是非线性数

29、据结构,所以( )。.它不能用顺序存储结构存储; B.它不能用链式存储结构存储; C.顺序存储结构和链式存储结构都能存储; D.顺序存储结构和链式存储结构都不能使用15. 用邻接表表示图进行广度优先遍历时,通常是采用( )来实现算法的。A栈 B. 队列 C. 树 D. 图16数据的最小单位是( )。(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量17设某棵二叉树中有2000个结点,则该二叉树的最小高度为( )。(A) 9(B) 10(C) 11(D) 1218函数substr(“DATASTRUCTURE”,5,9)的返回值为( )。(A) “STRUCTURE”(B) “DAT

30、A”(C) “ASTRUCTUR”(D) “DATASTRUCTURE”19设某完全无向图中有n个顶点,则该完全无向图中有( )条边。(A) n(n-1)/2(B) n(n-1)(C) n2 (D) n2-120 深度为k的完全二叉树中最少有( )个结点。(A) 2k-1-1(B) 2k-1(C) 2k-1+1(D) 2k-121设连通图G中的边集E=(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c),则从顶点a出发可以得到一种深度优先遍历的顶点序列为( )。(A) abedfc(B) acfebd(C) aebdfc(D) aedfcb22下面关于线性表的叙述

31、错误的是( )。(A) 线性表采用顺序存储必须占用一片连续的存储空间(B) 线性表采用链式存储不必占用一片连续的存储空间(C) 线性表采用链式存储便于插入和删除操作的实现(D) 线性表采用顺序存储便于插入和删除操作的实现23设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有( )个空指针域。(A) 2m-1(B) 2m(C) 2m+1(D) 4m24设顺序循环队列Q0:M-1的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为( )。(A) R-F(B) F-R(C) (R-F+M)M(D)

32、 (F-R+M)M25设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为( )。(A) BADC(B) BCDA(C) CDAB(D) CBDA二、填空题11for(i=1,t=1,s=0;i=n;i+) t=t*i;s=s+t;的时间复杂度为 。2下面程序段的功能是实现冒泡排序算法,请在下划线处填上正确的语句。void bubble(int rn)for(i=1;i=n-1; i+)for(exchange=0,j=0; jrj+1)temp=rj+1; ;rj=temp;exchange=1;if (exchange=0) return;3下面程序段

33、的功能是实现二分查找算法,请在下划线处填上正确的语句。struct recordint key; int others;int bisearch(struct record r , int k) int low=0,mid,high=n-1; while(low=high) ; if(rmid.key=k) return(mid+1); else if( ) high=mid-1;else low=mid+1; return(0);3根据二叉树的定义可知二叉树共有 种不同的形态。4快速排序的最坏时间复杂度为 ,平均时间复杂度为 。5设某棵二叉树中度数为0的结点数为N0,度数为1的结点数为N1,

34、则该二叉树中度数为2的结点数为 ;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有 个空指针域。6设某无向图中顶点数和边数分别为n和e,所有顶点的度数之和为d,则e= 。7.设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺序从1开始顺序编号,则编号为8的双亲结点的编号是_,编号为8的左孩子结点的编号是_。8.设一个连通图G中有n个顶点e条边,则其最小生成树上有_条边。9设一组初始记录关键字序列为(55,63,44,38,75,80,31,56),则利用筛选法建立的初始堆为 。10设F和R分别表示顺序循环队列的头指针和尾指针,则判断该循环队列为空的条件为 。三、判断题1调用一次深度优先遍历可以访问到图中的所有顶点。(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论