数据结构练习题

合集下载

数据结构练习题

数据结构练习题

. . . . .一、单选题第1章绪论1、在数据结构中,从逻辑上可以把数据结构分成A、动态结构和静态结构C、线性结构和非线性结构2、算法分析的两个主要方面是A、空间复杂性和时间复杂性C、可读性和文档性3、数据的不可分割的最小单位是B、紧凑结构和非紧凑结构D、内部结构和外部结构B、正确性和简明性D、数据复杂性和程序复杂性A、结点B、数据元素C、数据项D、数据对象4、在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为A、规则B、集合C、结构D、运算5、与程序运行时间有关的因素主要有以下四方面,其中与算法关系密切的是A、问题的规模C、机器执行速度二、判断题1、数据结构是带有结构的数据元素的集合。

2、程序越短,运行的时间就越少。

3、处理同一问题的算法是唯一的。

B、机器代码质量的优劣D、语句的执行次数4、一个完整算法可以没有输入,但必须有输出。

三、填空题1、______________是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

2、______________结构的数据元素之间存在一对多的关系。

3、数据结构的形式化定义为(D,S),其中D 是______________的有限集,S 是 D 上关系的有限集。

4、数据结构在计算机中的______________称为存储结构。

5、数据元素之间的关系在计算机中有两种不同的表示方法:顺序映象和非顺序映象,由此- 1 -得到两种不同的存储结构是______________存储结构和______________存储结构。

6、一个算法具有五个特性:______________、______________、______________、有零个或多个输入、有一个或多个输出。

7、评价一个算法的好坏应该从算法的正确性、可读性、___________和_________________等几方面进行。

四、解答题1、设n 为正整数。

数据结构 练习题

数据结构 练习题
A)10 B)110 C)1110 D)1111
6. 已知一棵二叉树的先序遍历序列为EFHIGJK,中序遍历序列为HFIEJGK,则该二叉树根的右子树的根是
A)E B)F C)G D)J
7. 设结点A有左孩子结点B,右孩子结点C,则在先序遍历、中序遍历、后序遍历这三种基本遍历序列中B一定是C的
图6-2 例6.3附图
6 自测习题
1. 简答题
1. *根据权值(1,2,3,4,5,6),构造哈夫曼树,并计算二叉树的带权路径长度。
2. 请
将下图6-1所示的森林转换成二叉树。
图6-1 简答题2的附图森林
3. *已知一棵二叉树的中序遍历序列为DHBEAIFCGJK,该二叉树的后序遍历序列是HDEBIFJKGCA,现请画出这棵二叉树。
第1章 概述
一、简答题
1.简述以下术语的含义并说明它们之间的关系。
数据类型、数据结构、逻辑结构、存储结构
2.简述算法时间效率和空间效率的概念。
3.简述数据结构课程的目的和意义。
二、选择题
1.以下数据结构中,逻辑结构属于线性结构的是
A)有向图 B)链式栈 C)二叉树 D)二叉排序树
四、算法及分析
1.写出交换两个整型变量值的算法,并分析算法的时间复杂度。
2.写出求n的阶乘 的算法,并分析算法的时间复杂度。
第2章 线性表
一、简答题
1.在处理某个问题时,需要存储的数据总量不能确定,并经常需要进行数据的添加和删除操作,此时应选用哪种存储结构?为什么?
3.设有结点定义
struct node
{ int data;
struct node *next;

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)

数据结构试题集(包含答案-完整版)数据结构试题集(包含答案-完整版)1. 单选题1) 数据结构是一种()。

a) 存储结构b) 算法c) 数据模型d) 网络答案:c) 数据模型解析:数据结构是一种用于组织和存储数据的方式,描述了数据之间的关系以及对数据的操作。

2) 以下哪种数据结构可以通过索引直接访问元素?a) 链表b) 队列c) 栈d) 数组答案:d) 数组解析:数组是一种线性数据结构,可以通过索引直接访问指定位置的元素。

2. 多选题1) 哪些数据结构属于非线性结构?()a) 队列b) 树c) 栈d) 图答案:b) 树d) 图解析:线性结构中的元素存在一对一的关系,非线性结构中的元素存在一对多或多对多的关系,树和图属于非线性结构。

2) 下列哪些操作可以在栈上进行?()a) 入栈b) 出栈c) 查找d) 删除答案:a) 入栈b) 出栈解析:栈是一种后进先出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。

3. 简答题1) 请简要介绍线性表和非线性表。

答案:线性表是数据元素的一个有限序列,元素之间存在一对一的关系。

非线性表是指元素之间存在一对多或多对多的关系,如树和图。

2) 请解释什么是时间复杂度和空间复杂度。

答案:时间复杂度是衡量算法执行效率的度量,表示算法的运行时间随输入规模增长的速度。

空间复杂度是指算法执行过程中所需的存储空间随输入规模增长的速度。

4. 编程题题目:实现一个栈,包含push、pop和getMin三个操作,要求时间复杂度为O(1)。

答案:class MinStack:def __init__(self):self.stack = []self.min_stack = []def push(self, x):self.stack.append(x)if not self.min_stack or x <= self.min_stack[-1]:self.min_stack.append(x)def pop(self):if self.stack.pop() == self.min_stack[-1]:self.min_stack.pop()def getMin(self):return self.min_stack[-1]解析:在栈的基础上,使用一个辅助栈min_stack来记录当前栈中的最小值。

数据结构(含答案)

数据结构(含答案)

数据结构综合练习一、选择题1.数据的存储结构包括顺序、链接、散列和()4种基本类型。

A索引B数组C集合D向量2.下面程序的时间复杂性的量级为()。

int i=0,s1=0,s2=0;while(i++<n){if (i%2)s1+=i;…else s2+=i;}(1) (1bn) (n)(2n)3.下面程序段的时间复杂度为()。

for(int i=0;i<m;i++)for(int j=0;j<n;j++)a[i][j]=i*j;(m2) (n2) (m+n) (m*n)4.在一个长度为n的顺序存储结构的线性表中,向第i个元素(1≤i≤n+1)位置插入一个元素时,需要从后向前依次后移()个元素。

+l<5.在一个长度为n的顺序存储结构的线性表中,删除第i个元素(1≤i≤n+1)时,需要从前向后依次后移()个元素。

+l6.在一个长度为n的线性表中,删除值为x的元素时需要比较元素和移动元素的总次数为()。

A.(n+1)/2 2 +17.在一个顺序表中的任何位置插入一个元素的时间复杂度为()。

A. O(n)B. O(n/2)C. O(1)D. O(n2)8. 线性表的链式存储比顺序存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除…9. 线性表的顺序存储比链式存储更有利于进行()操作。

A.查找B.表尾插入和删除C.按值插入和删除D.表头的插入和删除10. 在一个表头指针为ph的单链表中,若要向表头插入一个由指针p指向的结点,则应执行()操作。

A. ph=p; p->next=ph;B. p->next=ph; ph=p;C. p->next=ph; p=ph;D. p->next=ph->next; ph->next=p;11. 在一个表头指针为ph的单链表中,若要在指针q所指结点的后面插入一个由指针p所指向的结点,则执行()操作。

数据结构练习题

数据结构练习题
一、填空题 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它 们之间的 关系 和运算等的学科。 2. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D 上的 关系 有限集合。 3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方 面的内容。 4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构 。 5. 线性结构中元素之间存在 一对一 关系,树形结构中元素之间存在 一对多 系 ,图形结构中元素之间存在 多对多 关系。 6. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前 驱结点;最后一个结点 没有 后续结点,其余每个结点有且只有1个后续结点 。 7. 在树形结构中,树根结点没有 前驱 结点,其余每个结点有且只有 1 个前驱 结点;叶子结点没有 后续 结点,其余每个结点的后续结点数可以 任意多个 。 8. 在图形结构中,每个结点的前驱结点数和后续结点数可以 任意多个 。 9.数据的存储结构可用2种基本的存储方法表示,它们分别是 顺序存储结构 和连式存储结构 。 10. 数据的运算最常用的有5种,它们分别是 检索、排序、插入、删除、修改 。 11. 一个算法的效率可分为 时间 效率和 空间 效率。
( × )1. 链表的每个结点中都恰好包含一个指针。 答:错误。链表中的结点可含多个指针域,分别存放多个指针。例如,双向链表中的结点可以含有两 个指针域,分别存放指向其直接前趋和直接后继结点的指针。 ( × )2. 链表的物理存储结构具有同链表一样的顺序。错,链表的存储结构特点是无序,而链表的 示意图有序。 ( × )3.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元 向前移动。错,链表的结点不会移动,只是指针内容改变。 ( × )4.线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 错,混淆了逻辑结构与物理结构,链表也是线性表!且即使是顺序表,也能存放记录型数据。 ( × )5.顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 错,正好说反了。顺序表才适合随机存取,链表恰恰适于“顺藤摸瓜” ( × )6.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。 错,前一半正确,但后一半说法错误,那是链式存储的优点。顺序存储方式插入、删除运算效率较低, 在表长为n的顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素。 ( × )7.线性表在物理存储空间中也一定是连续的。 错,线性表有两种存储方式,顺序存储和链式存储。后者不要求连续存放。 ( × )8.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。 错误。线性表有两种存储方式,在顺序存储时,逻辑上相邻的元素在存储的物理位置次序上也相 邻。 ( × )9.顺序存储方式只能用于存储线性结构。 错误。顺序存储方式不仅能用于存储线性结构,还可以用来存放非线性结构,例如完全二叉树是属于 非线性结构,但其最佳存储方式是顺序存储方式。 ( × )10.线性表的逻辑顺序与存储顺序总是一致的。 错,理由同7。链式存储就无需一致。

数据结构练习附答案

数据结构练习附答案

一、单项选择题1.逻辑关系是指数据元素间的()A.类型B.存储方式C.结构D.数据项2.对于只在表的首、尾两端进行插入操作的线性表,宜采用的存储结构为( )A.顺序表 B.用头指针表示的单循环链表C. 用尾指针表示的单循环链表D. 单链表3.设数组data[m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作后其头指针front值为()A.front=front+1 B.front=(front+1)%(m-1)C.front=(front-1)%m D.front=(front+1)%m4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为( )。

A.rear%n==front B.(front+l)%n==rearC.rear%n-1==front D.(rear+l)%n==front5.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队空的条件为( )。

A.rear%n==front B.front+l=rearC.rear==front D.(rear+l)%n=front6.已知一颗二叉树上有92个叶子结点,则它有____个度为2的结点。

( )A. 90B. 91C. 92D. 937.在一棵非空二叉树的中序遍历序列中,根结点的右边_____。

A. 只有右子树上的所有结点B. 只有右子树上的部分结点C. 只有左子树上的所有结点D. 只有左子树上的部分结点8.有n条边的无向图的邻接表存储法中,链表中结点的个数是( )个。

A. nB. 2nC. n/2D. n*n9.判断有向图是否存在回路,除了可利用拓扑排序方法外,还可以利用()。

A. 求关键路径的方法B.求最短路径的方法C. 深度优先遍历算法D.广度优先遍历算法10.对线性表进行二分查找时,要求线性表必须( )。

数据结构练习题及答案

数据结构练习题及答案

数据结构练习题(一)一、单选题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.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( )。

A.2k-1 +1 D. 2k-17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )。

A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个。

A.1 B.2 C.3 D.49.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

二、填空题1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。

数据结构练习题

数据结构练习题

后, rear 的值为 , front 的值 为 ,当前队列的 长 度 为 。 14.设循环队列的容量为 40(序号从 0 到 39), 现经过一系列的入队和出队运算后, 有: ① front=11,rear=19; ② front=19,rear=11; 问在这两种情况下,循环队列中各有元素多少个? 15.写出下列程序段的输出结果(队列中的元素类型 QElem Type 为 char)。 void main( ){ Queue Q; Init Queue (Q); Char x=’e’; y=’c’; EnQueue (Q,’h’); EnQueue (Q,’r’); EnQueue (Q, y); DeQueue (Q,x); EnQueue (Q,x); DeQueue (Q,x); EnQueue (Q,’a’); while(!QueueEmpty(Q)){ DeQueue (Q,y); printf(y); }; printf(x); } 16.简述以下算法的功能(栈和队列的元素类型均为 int) void algo3(Queue &Q){ Stack S; int d; InitStack(S); while(!QueueEmpty(Q)){ DeQueue (Q,d); Push(S,d); }; while(!StackEmpty(S)){ Pop(S,d); EnQueue (Q,d); } }
第一章 绪论
1.数据结构是研究数据的( )以及它们之间的相互关系。 A.物理结构,逻辑结构 B.理想结构,抽象结构 C.理想结构,物理结构 D.抽象结构,逻辑结构 2.从逻辑上可以把数据结构分为( )两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 3.以下不属于算法要素的是( ) A. 有穷性 B. 可行性 C. 可读性 D. 输入 4.算法的时间复杂度与( )有关。 A.问题规模 B.计算机硬件性能 C.编译程序质 D.程序设计语言 2 5.某算法的时间复杂度为 O(n ),表明该算法的( ) 2 A.问题规模是 n B.执行时间等于 n2 C.执行时间与 n2 成正比 D.问题规模与 n2 成正比 6.假设某算法语句总的执行次数为 T(n)=2n³ +n² ,那么该算法的时间复杂性量级为 ( ) A.O(2) B.O(n³ ) C.O(n² ) D.O(1) 7.设 n 为正整数,下面程序段中标号为①的语句频度为 。 int i = 1; k = 0; while ( i <= n-1 ){ k += 10*i; ① i++; } 8.程序段 for( i=0; i<n; i++ ) for( j=0; j<i; j++ ) k++; 中,语句 k++的执行次数为 。 9.在下面的程序段中,对 x 的赋值语句的渐进时间复杂度为 。 for(k=1;k<=n;k++) for(j=1;j<=n;j++) x=x+1; 10.下面程序段的时间复杂度为 。 void fun(int n) { int y=1; while (y <=n) y=2*y; }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构练习题一、简答题1.什么是拓扑排序?2.什么是堆积?3.图的邻接矩阵与邻接表两种存储表示法在空间代价上的差别为何?4.算法与程序的区别是什么?5.什么是堆(heap)?6.什么是栈(stack)?7.什么样的图遍历后由所有顶点和遍历时所经过的边所构成的子图一定是生成树?8.举例说明希尔(Shell)排序是否是稳定的排序方法?9.什么是遍历运算?10.什么是A VL树?11.链表中的表头指针、表头结点和开始结点有什么不同?各自所起的作用是什么?12.举例说明直接选择排序是否是稳定的排序方法?13.什么是完全二叉树(complete binary tree) ?14.什么是稀疏矩阵(sparse matrix) ?15.试述链接存储结构的优缺点。

16.什么是A VL树,它与最佳二叉排序树最主要的差别是什么?17.什么是假溢出?18.什么是排序算法的“稳定性”?19.设高度为h的二叉树中只有度为0和度为2的结点,问此类二叉树中的结点数可能达到的最大值和最小值各为多少?20.顺序查找、折半查找和分块查找各自的平均查找长度ASL是多少?二、单选题1.顺序表中逻辑上相邻的结点其物理位置也( )。

A.一定相邻B.不必相邻C.按某种规律排列D.无要求2.下面关于串的叙述中,哪一个是不正确的? ( )A.串是字符的有限序列C.模式匹配是串的一种重要运算B.空串是由空格构成的串D.串既可以采用顺序存储,也可以采用链式存储3.某二叉树结点的前序序列为ECBAD,中序序列为EBCDA,则该二叉树结点的后序序列为( )。

A.ABCED B.DECAB C.DEABC D.BDACE4. 设二维数组A[m][n] 按列优先顺序存储且每个元素占c个单元,则元素A[i][j] 的地址为()。

A.LOC(A[0][0])+(j*m+i)*c B.LOC(A[0][0])+(i*n+j)*cC.LOC(A[0][0])+[(j-1)*m+i-1]*c D.LOC(A[0][0])+[(i-1)*n+j-1]*c5.在下述几种排序方法中,不稳定的排序方法是()。

A.直接插入排序B.冒泡排序C.直接选择排序D.归并排序6.散列函数有一个共同的性质,即函数值应当以下面的哪一项来取其值域的每个值()。

A.同等概率B.最大概率C.最小概率D.平均概率7.在有n个结点的顺序表中进行插入、删除运算,平均时间复杂度为( )。

A.Ο(1)B.Ο(n)C.Ο(log2n)D.Ο(n2 )8.设s1="abc",则strlen(s1) = ( )。

A.0 B. 1 C.2 D.39. 完全二叉树是下列情况的哪一种( )。

A.一定是满二叉树B.可能是满二叉树C.一定不是满二叉树D.不是二叉树10. 下列说法不正确的是( )。

A.图的遍历是从给定的源点出发每个顶点仅被访问一次B.遍历的基本方法有两种:深度优先遍历和广度优先遍历C.图的深度遍历不适用于有向图D.图的深度优先遍历是一个递归过程11. 数组A[6,7] 的每个元素占5个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,5] 的地址是( )。

A.1165 B.1170 C.1175 D.118012. 在下面的排序方法中,其比较次数与待排序记录的初始排列状态无关的是( )。

A.直接插入排序B.快速排序C.直接选择排序D.归并排序13.在栈中存取数据的原则是( )。

A.先进先出B.后进先出C.后进后出D.随意进出14.设有两个串s1和s2,求s2在s1中首次出现的位置的运算称为( )。

A.求子串B.求串长C.联接D.模式匹配15. 堆的形状是一棵( )。

A.二叉排序树B.满二叉树C.完全二叉树D.A VL树16. 求图的最小生成树问题,考虑的是下面的哪一种图( )。

A.无向图B.有向图C.带权的无向图D.带权的有向图17. 广义表A=(a, b, ( c, d ) , (e,( f , g ) ) ),则式子head ( tail ( head ( tail ( tail ( A ) ) ) ) )的值为()。

A.( g ) B.( d ) C.c D.d18. 设有n个结点的二叉排序树,对于成功的查找,最多的比较次数为( )。

A.Ο( 1) B.Ο(log2n) C.Ο(n) D.Ο(nlog2n)19.经过下列栈的操作后,GetTop(ST)的值是( )。

InitStack(ST); push(ST,'a'); push(ST,'b'); pop(ST,x);A.a B.b C.1 D.220.空串与空格串是相同的,这种说法( ) 。

A.正确B.可能正确C.不正确D.可能不正确21. 在线索二叉树中,p所指结点没有右子树的充要条件是( )。

A.p->rchild == NULL B.p->rtag == 1C.p->rtag == 1且p->rchild == NULL D.p->rtag == 022. 有n个顶点的无向连通图的边数最少为( )。

A.n/2 B.n-1C.n D.n+123. 设广义表L = ( ( a , b , c ) ),则L的长度和深度分别为( )。

A.1和1B.1和3 C.1和2 D.2和324. 折半查找要求结点( )。

A.无序、顺序存储B.无序、链接存储C.有序、顺序存储D.有序、链接存储25.一个栈的入栈序列是a、b、c、d,则栈的不可能的输出序列是( )。

A.acbd B.abcd C.dbca D.adcb26.串是一种特殊的线性表,其特殊性体现在( )。

A.可以顺序存储B.数据元素是一个字符C.可以链接存储D.数据元素可以是多个字符27. 在k叉树中,无父母的结点称为( )。

A.根B.叶C.祖先D.子孙28. 采用邻接表存储的图的广度优先遍历类似于二叉树的( )。

A.前序遍历B.中序遍历C.后序遍历D.层次遍历29. 下列四个序列中,哪一个是堆( ) 。

A.75 , 65 , 30 , 15 , 25 , 45 , 20 , 10 B.75 , 65 , 45 , 10 , 30 , 25 , 20 , 15C.75 , 45 , 65 , 30 , 15 , 25 , 20 , 10 D.75 , 45 , 65 , 10 , 25 , 30 , 20 , 1530. 如果要求线性表既能较快地查找、又能适应动态变化的要求,则可采用的查找方法是( )。

A.顺序查找B.折半查找C.分块查找D.基于属性的查找三、判断题1. 数据的逻辑结构是指数据的各数据项之间的逻辑关系。

()2.链表中的表头结点仅起到标识的作用。

()3.哈夫曼树是带权(外部)路径长度最短的树,路径上权值较大的结点离根较近。

()4.在有向图中,度为0的顶点称为终端顶点(或叶子)。

()5.归并排序在任何情况下都比所有简单的排序方法速度快。

()6. 折半查找法的查找速度一定比顺序查找法快。

()7. 健壮的算法不会因非法的输人数据而出现莫名其妙的状态。

()8.循环链表不是线性表。

()9.完全二叉树的存储结构通常采用顺序存储结构。

()10. 无向图的邻接矩阵可用一维数组存储。

()11. 归并排序的辅助存储空间代价为O( 1 )。

()12. 分块查找在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中的元素个数有关。

()13. 为了方便的插入和删除数据,可以使用双向链表来存放数据。

()14.给定一棵树,可以找到唯一的一棵二叉树与之对应。

()15.邻接矩阵适用于有向图和无向图的存储,但不能存储带权的有向图和无向图,而只能使用邻接表存储形式来存储它。

()16. 当广义表中的每个元素都是原子时,广义表便成了线性表。

()17. 堆是满二叉树。

()18. 对一棵二又排序树按前序方法遍历得到的结点序列是从小到大的序列。

()19. 链接存储结构属动态存储方式。

()20. 采用二叉链表作为存储结构,树的先根遍历和相应的二叉树的前序遍历的结果是一样的。

()21. 带权的连通无向图的最小(代价)生成树必是唯一的。

()22. 广义表的取表尾运算,其结果通常是一个表,但有时也可能是一个单元素值。

()23. 在待排数据基本有序的情况下,快速排序效果最好。

()24. 在A VL树中,向某个平衡因子不为零的结点的树中插入一新结点,必引起平衡旋转。

()25. 数据的存储结构是数据的逻辑结构在计算机存储器上的实现,它是依赖于计算机的。

()26.在指定结点之后插入新结点时,双链表比单链表更方便。

()27.二叉树的遍历只是为了在应用中找到一种线性次序。

()28. 拓扑排序算法仅适用于有向无环图。

()29. 数组是同类型值的集合。

()30. 哈希法的平均查找长度不随表中结点数目的增加而增加,而是随负载因子的增大而增大。

()四、填空题1. head指向的不带表头结点的单链表为空的条件是。

2.具有256个结点的完全二叉树(设根结点的层数为0)的深度为。

3.二维数组A[10][20]采用了行优先的顺序进行存储,每个元素占一个存储单元,并且A[0][0]的存储地址是300,则A[6][12]的地址是。

4.排序是将一组任意排列的记录按的值从小到大或从大到小重新排列成有序的序列。

5. 散列表的查找效率主要取决于散列表造表时选取的和。

6.数据的运算是定义在数据的结构之上的。

7. 对于一个具有n个结点的单链表,在已知p所指结点后插入一个新结点的时间复杂度是;在给定值为x的结点后插入一个新结点的时间复杂度是。

8. 树中结点的最大度数称为树的。

9. 为了实现图的广度优先搜索,除了对已访问的图的结点进行标记外,还需以存放被访问的结点以实现遍历。

10. 在堆排序和快速排序中,若初始记录接近正序或反序,则应选用。

11.在具有n个结点的双链表中进行插入、删除运算,其时间复杂度为。

12. 已知二叉树有50个叶结点,则该二叉树的总结点数至少是。

13. 在有n个顶点的有向图中,若要使任意两点间可以互相到达,则至少需要条有向边(弧)。

14. 选择合适的是解决应用问题的关键步骤。

15. 对于两棵具有而形状不同的二叉排序树,遍历它们得到的结点序列是一样的。

16.在有n个结点的顺序表中进行插入、删除运算,其平均时间复杂度为。

17. 二叉树的前序序列和中序序列相同的条件是。

18. 对于n个顶点、e条边的图,若采用邻接表进行存储,则空间复杂度为。

19. 对n个记录的表R [ l .. n ]进行直接选择排序,所需进行的排序码之间的比较次数为。

20. 有900个结点的线性表若采用分块查找(检索)的方法,最好每块应含有个结点;若按每块含有25个结点来分块并对索引表也采用顺序查找,则平均查找长度为。

相关文档
最新文档