数据结构复习题
数据结构复习习题和答案(DOC)

第一章绪论一、单项选择题1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和操作等的学科。
① A.操作对象 B.计算方法 C·逻辑存储 D.数据映象② A.结构 B.关系 C.运算. D.算法2.数据结构被形式地定义为(D,R),其中D是①的有限集合,R是D上的②有限集合。
① A.算法 B.数据元素 C.数据操作 D.逻辑结构② A.操作 B.映象 C、存储 D.关系3.在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构 B.紧凑结构和非紧凑结构C.线性结构和非线性结构 D.内部结构和外部结构4·算法分析的目的是①,算法分析的两个主要方面是②。
① A. 找出数据结构的合理性 B.研究算法中的输入和输出的关系C. 分析算法的效率以求改进D. 分析算法的易懂性和文档性② A. 空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程序复杂性5.计算机算法指的是①,它必具备输入、输出和②等五个特性。
① A. 计算方法 B.排序方法 C. 解决问题的有限运算序列 D.调度方法② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性C. 确定性、有穷性和稳定性 D.易读性、稳定性和安全性6. 线性表的逻辑顺序与存储顺序总是一致的,这种说法()。
A. 正确 B.不正确7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址()。
A. 必须是连续的 B.部分地址必须是连续的C. 一定是不连续的D. 连续或不连续都可以8.数据结构通常是研究数据的()及它们之间的相互联系。
A.存储和逻辑结构 B.存储和抽象C.理想与抽象 D.理想与逻辑9.数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为()。
A.存储结构 B.逻辑结构 C.顺序存储结构 D.链式存储结构11.非线性结构是数据元素之间存在一种()。
《数据结构C语言》考研复习题库

《数据结构C语言》考研复习题库一、选择题1、在一个具有 n 个单元的顺序栈中,假定以地址低端(即 0 单元)作为栈底,以 top 作为栈顶指针,当做出栈处理时,top 变化为()。
A top 不变B top = 0C topD top++答案:C解释:在顺序栈中,出栈操作会使栈顶指针 top 减 1,即 top。
2、一个队列的入队序列是 1,2,3,4,则队列的输出序列是()。
A 4,3,2,1B 1,2,3,4C 1,4,3,2D 3,2,4,1答案:B解释:队列是先进先出的数据结构,入队顺序为 1,2,3,4,那么出队顺序也为 1,2,3,4。
3、串是一种特殊的线性表,其特殊性体现在()。
A 可以顺序存储B 数据元素是一个字符C 可以链式存储D 数据元素可以是多个字符答案:B解释:串的数据元素是字符,这是它与一般线性表的区别。
4、设有一个 10 阶的对称矩阵 A,采用压缩存储方式,以行序为主存储,a11 为第一元素,其存储地址为 1,每个元素占一个地址空间,则 a85 的地址为()。
A 33B 32C 18D 40答案:A解释:对于对称矩阵,只存储其下三角或上三角部分。
对于一个 n阶对称矩阵,若以行序为主存储下三角部分,aij 的存储位置为 i(i 1)/2 + j 1。
所以 a85 的地址为 8(8 1)/2 + 5 1 = 33。
5、一棵完全二叉树共有 700 个结点,则在该二叉树中有()个叶子结点。
A 350B 349C 351D 不确定答案:C解释:根据完全二叉树的性质,度为 1 的结点个数最多为 1 个。
设n0 为叶子结点个数,n1 为度为 1 的结点个数,n2 为度为 2 的结点个数。
则 n = n0 + n1 + n2 ,n 1 = 2n2 + n1 。
因为 n = 700 ,且 n1 为 0或 1 ,通过计算可得 n0 = 351 。
二、填空题1、数据的逻辑结构被分为_____、_____、_____和_____四种。
数据结构复习题(附答案)

数据结构复习题(附答案)1. 快速排序在最坏情况下的时间复杂度为( D )。
A.O(log2n) B.O(nlog2n) C.O (n) D. O (n2)2.设⼀棵⼆叉树的深度为k,则该⼆叉树中最多有( D )个结点。
A. 2k-1B. 2kC.2k-1D. 2k-13.⼆叉树中第i(i≥1)层上的结点数最多有( C )个。
A. 2iB. 2iC. 2i-1D. 2i-1 4.设指针变量p指向单链表结点A,则删除结点A的后继结点B需要的操作为( A )。
A. p->next=p->next->nextB. p=p->nextC. p=p->next->nextD. p->next=p5.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量⾄少应该是( C )。
A. 6B. 4C. 3D. 26.设有以下四种排序⽅法,则( B )的空间复杂度最⼤。
A. 冒泡排序B. 快速排C. 堆排序D. 希尔排序7.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为( B )。
A. 3B. 4C. 5D. 18.根据⼆叉树的定义可知⼆叉树共有( B )种不同的形态。
A. 4B. 5C. 6D. 79.对⼀个算法的评价,不包括如下( A )⽅⾯的内容。
A.并⾏性 B.健壮性和可读性 C.正确性 D.时空复杂度10.在⼆叉排序树中插⼊⼀个结点的时间复杂度为( C )。
A.O(1) B.O(n) C.O(log2n) D.O(n2)11. 队列是⼀种( B )的线性表。
A.先进后出B.先进先出 C.只能插⼊D.只能删除12.采⽤开放定址法处理散列表的冲突时,其平均查找长度( C )。
A.低于链接法处理冲突 B. 与链接法处理冲突相同C.⾼于链接法处理冲突 D.⾼于⼆分查找13.设有序顺序表中有n个数据元素,则利⽤⼆分查找法查找数据元素X的最多⽐较次数不超过( A )。
数据结构(java)复习题及答案

数据结构(java)复习题及答案⼀、选择题1、数据结构在计算机内存中的表⽰是指____A__A.数据的存储结构 B.数据结构C. 数据的逻辑结构D.数据元素之间的关系2、若⼀个算法的时间复杂度⽤T(n)表⽰,其中n的含义是( A )A.问题规模 B.语句条数C.循环层数 D.函数数量3、下列选项中与数据存储结构⽆关的术语是( D )A.顺序表B.链表C.链队列D.栈4、已知循环队列的存储空间⼤⼩为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下⼀个位置,则向队列中插⼊新元素时,修改指针的操作是( D )A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;5、栈和队列的共同点是__C______A.都是先进后出B.都是先进先出C.只允许在端点处插⼊和删除元素D.没有共同点6、已知⼀堆栈的进栈序列为1234,则下列哪个序列为不可能的出栈序列______D__A.1234B.4321C.2143D.41237、具有线性结构的数据结构是( C )A.树 B.图C.栈和队列 D.⼴义表8、假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为( B )A.3 B.37C.50 D.979、若栈采⽤链式存储结构,则下列说法中正确的是( B )A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空10、若⼀棵具有n(n>0)个结点的⼆叉树的先序序列与后序序列正好相反,则该⼆叉树⼀定是( C )A.结点均⽆左孩⼦的⼆叉树B.结点均⽆右孩⼦的⼆叉树C.⾼度为n的⼆叉树D.存在度为2的结点的⼆叉树11、若⼀棵⼆叉树中度为l的结点个数是3,度为2的结点个数是4,则该⼆叉树叶⼦结点的个数是( B )A.4B.5C.7D.812、在n个结点的线索⼆叉树中,线索的数⽬为_C_______A.n-1 B. nC.n+1D.2n13、⼀棵完全⼆叉树有1001个结点,其中有____B_____叶⼦结点A.500B.501C.503D.50515、⼀个有n个顶点的⽆向图最多有___C____条边。
数据结构期末复习题(有答案)

一、单选题1. 从物理上可以把数据结构分为(B)两大类。
A. 动态结构、静态结构B. 顺序结构、链式结构C. 线性结构、非线性结构D. 初等结构、构造型结构2. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为(C )(1≤i≤n+1)。
A. O(0)B. O(1)C. O(n)D. O(n2)3. 链表不具有的特点是(B)。
A. 插入、删除不需要移动元素B. 可随机访问任一元素C. 不必事先估计存储空间D. 所需空间与线性长度成正比4. 下列排序算法中(C)排序在一趟结束后不一定能选出一个元素放在其最终位置上。
A. 选择B. 起泡C. 归并D. 堆5. 在下列排序算法中,哪一个算法的时间复杂度与初始排序无关(D )。
A. 插入排序B. 起泡排序C. 快速排序D. 选择排序6. 一个栈的输入序列为1,2,3,…,n,若输出序列的第一个元素是i,则第j个输出元素是(D)。
A. i-j-1B. i-jC. j-i+1D. 不确定7. 输入序列为ABC,可以变为BCA时,经过的栈操作为(D )。
A. push,pop,push,pop,push,popB. push,push,push,pop,pop,popC. push,push,pop,pop,push,popD. push,push,pop,push,pop,pop8. 有六个元素6 5 4 3 2 1 的顺序进栈,下列(C )不是合法的出栈序列。
A. 5 4 3 6 1 2B. 4 5 3 1 2 6C. 3 4 6 5 2 1D. 2 3 4 1 5 69. 串的长度是指(B )。
A. 串中所含不同字母的个数B. 串中所含字符的个数C. 串中所含不同字符的个数D. 串中所含非空格字符的个数10. 设二维数组A[1.. m,1.. n](即m行n列)按行存储在数组B[1.. m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为( A)。
《数据结构》四川大学_期终复习试题+答案

四川大学“精品课程”计算机科学与技术专业(本科)《数据结构与算法分析》课程考试说明与模拟试卷第一部分考试说明数据结构与算法分析》是计算机科学与技术专业统设的一门重要的必修专业基础课,它主要研究数据的各种逻辑结构和在计算机中的存储结构,还研究对数据进行的插入、查找、删除、排序、遍历等基本运算或操作以及这些运算在各种存储结构上具体实现的算法。
由于本课程的主教材采用C++语言描述算法,期末卷面考试也采用C++语言描述,因而要求在做平时作业和上机实验操作时用C++开发工具(如:Visual C++或C++ Builder或Borland C++)。
下面按照主教材中各章次序给出每章的具体复习要求,以便同学们更好地进行期末复习。
第一章绪论重点掌握的内容:1. 数据结构的二元组表示,对应的图形表示,序偶和边之间的对应关系。
2. 集合结构、线性结构、树结构和图结构的特点。
3. 抽象数据类型的定义和表示方法。
4. 一维和二维数组中元素的按下标和按地址的访问方式以及相互转换,元素地址和数组地址的计算,元素占用存储空间大小和数组占用存储空间大小的计算。
5. 普通函数重载和操作符函数重载的含义,定义格式和调用格式。
6. 函数定义中值参数和引用参数的说明格式及作用,函数被调用执行时对传送来的实际参数的影响。
7. 算法的时间复杂度和空间复杂度的概念,计算方法,数量级表示。
8. 一个简单算法的最好、最差和平均这三种情况的时间复杂度的计算。
对于本章的其余内容均作一般掌握。
第二章线性表重点掌握的内容:1. 线性表的定义及判别和抽象数据类型的描述,线性表中每一种操作的功能,对应的函数名、返回值类型和参数表中每个参数的作用。
2. 线性表的顺序存储结构的类型定义,即List类型的定义和每个域的定义及作用。
3. 线性表的每一种运算在顺序存储结构上实现的算法,及相应的时间复杂度。
4.链接存储的概念,线性表的单链接和双链接存储的结构,向单链表中一个结点之后插入新结点或从单链表中删除一个结点的后继结点的指针链接过程。
数据结构复习题及答案
数据结构复习题及答案数据结构习题一、名词解释1.数据、数据元素、数据项、数据结构、数据的逻辑结构、数据物理结构、顺序存储、链式存储、算法、时间复杂度、空间复杂度。
2.线性表、顺序表、单链表、双向链表、循环链表、双向循环链表、三个概念的区别:头指针、头结点、首元结点(第1个元素结点)。
3.栈(顺序栈、链栈)、队列(顺序队、链队)、循环队列、递归、稀疏矩阵、三元组。
4.树、叶子结点、结点的度、树的度、树的高(深)度、二叉树、遍历、满二叉树、完全二叉树、哈夫曼树、WPL、哈夫曼编码。
5.图(有向、无向)、网、边、弧、度、入度、出度、完全图(有向、无向)、(强)连通图(分量)、(最小)生成树、邻接矩阵、邻接表、DFS、BFS。
6.查找表、关键字、静态查找、动态查找、ASL、顺序查找、折半查找、分块查找、二叉排序树。
7、排序、内(外)排序、稳定性、插入(直接、希尔),交换(起泡、快速),选择(直接、堆),2路归并。
一、填空题1.数据结构是研究数据的_逻辑结构__和___物理结构__,并在这种结构上定义相关的运算,设计实现这些运算的算法,分析算法的效率。
算法的效率包括时间和空间两个方面,分别称为___时间复杂度____和__空间复杂度___。
2.数据的基本单元是__数据元素__,数据的最小单元是__数据项_。
3.算法是对特定问题求解___步骤___的一种描述,是指令的有限序列。
4.一个算法的时间复杂度为(3n3+2n—7),其数量级表示为O(n3)_。
5.一个算法具有5个特性:确定性、可行性、有穷性、输入和输出。
6.算法机能的阐发和怀抱,能够从算法的工夫庞大度和空间庞大度来评判算法的好坏。
7.数据的逻辑布局包孕调集布局、线性布局、树形布局和图型布局四品种型。
8.数据布局在计较机中的表示称为数据的物理布局,它能够采用__按次存储___或__链式存储_两种存储方法。
9.线性表有两种存储布局,划分为按次存储和链式存储。
电大《数据结构(本)》复习题及答案
数据结构(本)复习题一、单项选择题(每小题2分,共30分)1.深度为5的完全二叉树共有20个结点,则第5层上有()个结点(根所在结点为第一层)。
A.3 B.8C.5 D.62.已知一个图的边数为ii,则该图的所有顶点的度数之和为( )。
A.2m B.mC.2m+1 D.m/23.数据结构中,与所使用的计算机无关的是数据的( )结构。
A.物理B.存储C.逻辑与物理D.逻辑4.链表所具备的特点是().A.可以随机访问任一结点B.占用连续的存储空间C.插人删除不需要移动元素结点D.可以通过下标对链表进行直接访问5.线性表只要以()方式存储就能进行折半查找。
A.链接B.顺序C.关键字有序的顺序D.二又树6.散列查找的原理是( )。
A.在待查记录的关键字值与该记录的存储位置之间建立确定的对应关系B.按待查记录的关键字有序的顺序方式存储C.按关键字值的比较进行查找D.基于二分查找的方法7.对n个元素进行冒泡排序若某趟冒泡中只进行了()次元素间的交换,则表明序列已经排好序。
A.1 B.2C.0 D.n-18.排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是()。
A.直接插入排序B.快速排序C.冒泡排序D.选择排序9.在对一组元素(64,48,106,33,25,82,70,55,93)进行直接插入排序时,当进行到要把第7个元素70插入到已经排好序的子表时,为找到插人位置,需进行()次元素n的比较(指由小到大排序).A.6 B.2C.3 D.410.采用顺序查找法对长度为n的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进行()次元素间的比较。
A.n+2 B.nC.n—1 D.n/211如图,若从顶点a出发按广度优先搜索法进行遍历,则可能得到的顶点序列为()。
A.acebdgf B.abecdgfC.acfedgb D.abecfdg12.元素2,4,6,8按顺序依次进栈,则该栈的不可能输出序列是( )(进栈出栈可以交替进行).A.8,6,4,2 B.2,4,6,8C.4,2,8,6 D.8,6,2,413.排序方法中,从未排序序列中挑选元素,并将其依次放人已排序序列(初始为空)的一端的方法,称为( )排序.A.归并B.插人C.选择D.快速I4.一棵哈夫曼树总共有23个结点,该树共有()个叶结点(终端结点)。
广州大学松田学院6数据结构复习题-广义表-参考答案
6数据结构复习题(广义表)一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)(√)(1)n维的多维数组可以视为n-1维数组元素组成的线性结构。
(√)(2)稀疏矩阵中非零元素的个数远小于矩阵元素的总数。
(ㄨ)(3)上三角矩阵主对角线以上(不包括主对角线中的元素),均为常数C。
(√)(4)数组元素可以由若干个数据项组成。
(√)(5)数组的三元组表存储是对稀疏矩阵的压缩存储。
(ㄨ)(6)任何矩阵都可以进行压缩存储。
(ㄨ)(7)广义表是线性表的推广,所以广义表也是线性表。
(ㄨ)(8)广义表LS=(a0,a1,……a n-1),则a n-1是其表尾。
(√)(9)广义表((a,b),a,b)的表头和表尾是相等的。
(√)(10)一个广义表的表尾总是一个广义表。
二.填空题(1)多维数组的顺序存储方式有按行优先顺序存储和按列优先顺序存储两种。
(2)在多维数组中,数据元素的存放地址可以直接通过地址计算公式算出,所以多维数组是一种随机存取结构。
(3)在n维数组中的每一个元素最多可以有n 个直接前驱。
(4)输出二维数组A[n][m]中所有元素值的时间复杂度为O(n*m) 。
(5)数组元素a[0..2][0..3]的实际地址上2000,元素长度是4,则LOC[1,2]= 2024 。
LOC[1,2]=2000+(1*4+2)*4(6)稀疏矩阵的三元组有 3 列。
(7)稀疏矩阵的三元组中第1列存储的是数组中非零元素所在的行数。
(8)n阶对称矩阵,如果只存储下三角元素,只需要n(n-1)/2 个存储单元。
(9)稀疏矩阵A如下图所示,其非零元素存于三元组表中,三元组(4,1,5)按列优先顺序存储在三元组表的第 4 项。
A=稀疏矩阵A(10)稀疏疏矩阵的压缩存储方法通常有三元组表和十字链表两种。
(11)任何一个非空广义表的表尾必定是广义表(或子表)。
(12)tail(head((a,b),(c,d))= b 。
(13)设广义表((a,b,c)),则将c分离出来的运算是head(tail(tail(head(L)))) 。
数据结构复习题
数据结构复习题:一、判断题1、()采用循环链表作为存储结构的队列就是循环队列。
2、()哈夫曼树一定是完全二叉树。
3、()选择排序是一种稳定的排序方法。
4、()在顺序存储结构的线性表中,取第i个元素操作的时间复杂度为O(1)。
5、()有向图中第i个顶点的出度等于其邻接矩阵中第i行非0元素的个数。
6、()在按值有序的线性链表中可以采用折半查找法进行查找。
7、()只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。
8、()在具有n个结点的完全二叉树中,无法确定其叶子结点的个数。
9、()一棵树转换成二叉树后,该二叉树的根结点一定没有右子树。
10、()对任意一个图,从它的某个顶点出发进行一次深度或广度优先搜索遍历时,均可访问到该图的每个结点。
11、()二叉树的存储结构必须采用二叉链表结构。
12、()给定一组关键字序列,按顺序构造二叉排序树,其树的形态与关键字的排列顺序无关。
13、()当初始序列为逆序时,简单选择排序的比较次数达到最多。
14、()在单链表表示的线性表中,取线性表第i个元素操作的时间复杂度为O(n)(n为链表长度)。
15、()具有n结点的二叉树,其最大深度为n。
16、()在具有13个叶子结点的二叉树中,其度为2的结点个数一定为12。
17、()具有n个顶点无向图,其生成树中一定存在n-1条边。
18、()能采用折半查找法进行查找的查找表必须是有序并为顺序存储。
19、()若一棵二叉树中不存在度为1的结点,则该二叉树一定是一棵完全二叉树。
20、()快速排序是目前所有排序方法中效率最高的稳定排序。
二、选择填空1、下列排序方法中,排序所花时间不受数据初始排列特性影响的算法是____。
A)冒泡排序B)简单选择排序C)快速排序D)直接插入排序2、在一棵度为3的树中,度为3的结点数为2个,度为2的结点数为1个,度为1的结点数为2个,那么度为0的结点数为____个。
A)4 B)5 C)6 D)73、对于给定的8个元素:34,76,45,18,26,54,92,65,按给定顺序生成一棵二叉排序树,该树的深度为____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、判断题
1、 线性表的逻辑顺序与存储顺序总是一致的。
2、 顺序存储的线性表可以按序号随机存取。
3、线性表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的
元素需要移动。
4、线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有同样的特性,因此
是属于同一数据对象。
5、在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。
6、在线性表的链式存储结构中,逻辑上相邻的两个元素在物理位置上不一定紧邻。
7、线性表的链接存储结构优于顺序存储结构。
8、在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。
9、若采用三元组压缩技术存储稀疏矩阵,只要把每个元素的行下标和列下标互换,就完成
了对该矩阵的转置运算。
10、线性表的链接存储结构是用一组任意的存储单元来存储线性表中数据元素的。
11、在链表中,要取得某个元素,只要知道指向该元素的指针即可,因此,单链表是随机存
取的存储结构。
12、二叉树是树的特殊形式。T
13、由树转换成二叉树,其根结点右子树总是空的。F
14、先根遍历一颗树和前序遍历与该树对应的二叉树,其结果不同。F
15、后根遍历一颗树和中序遍历与该树对应的二叉树,其结果不同。T
16、前根遍历森林和前序遍历与该森林对应的二叉树,其结果不同。
17、后根遍历森林和中序遍历与该森林对应的二叉树,其结果不同。
18、不使用递归也可实现二叉树的前序、中序和后序遍历。T
19、若一个结点是某二叉树子树的中序遍历序列中的最后一个结点,则它必是该子树的前序
遍历序列中的最后一个结点。F
20、若一个结点是某二叉树子树的中序遍历序列中的第一个结点,则它必是该子树的后序遍
历序列中的第一个结点。F
21、不用递归也可实现二叉树的前序、中序和后序遍历。T
22、在具有n个结点的二叉树的标准表示形式中,共有n个空指针。
23、满二叉树一定是完全二叉树。T
24、在Huffman编码中,出现频率相同的字符编码长度也一定相同。F
25、Huffman树是带权路径长度最短的树,路径上权值较大的结点离根最近。T
26、由前序序列和后序序列能唯一确定一棵二叉树。F
27、由前序序列和中序序列能唯一确定一棵二叉树。T
28、由中序序列和后序序列不能唯一确定一棵二叉树。F
29、完全二叉树可采用顺序存储结构实现存储,非完全二叉树则不能。T
二、选择题
1、用链表表示线性表的优点是 ( )。
A 便于随机存取 B 花费的存储空间较顺序存储少
C 便于插入和删除 D 数据元素的物理顺序与逻辑顺序相同
2、稀疏矩阵一般的压缩存储方法有两种,即( )。
A 二维数组和三维数组 B 三元组和散列
C 三元组和十字链表 D 散列和十字链表
3、线性表若采用链接存储结构时,要求内存中可用存储单元的地址( )。
A 必须是连续的 B 部分地址必须是连续的
C 一定是不连续的 D 连续不连续都可以
4、串是一种特殊的线性表,其特殊性体现在( )。
A 可以顺序存储 B 数据元素是一个字符
C 可以链接存储 D 数据元素可以是多个字符
5、对顺序存储的线性表,设其长度是n,在任何位置上插入或删除操作都是等概率的。插
入一个元素时平均要移动表中的( )个元素。
A n/2 B (n+1)/2
C (n-1)/2 D n
6、在数据结构中,从逻辑上把数据结构分为( )。
A 动态结构和静态结构 B 紧凑结构和非紧凑结构
C 线性结构和非线性结构 D 内部结构和外部结构
7、设有两个串p和q,求q在p中首次出现的位置的运算称为( )。
A 连接 B 模式匹配
C 求子串 D 求串长
8、栈结构通常采用的两种存储结构是( A )。
A、 顺序存储结构和链表存储结构 B、 散列方式和索引方式
C、 链表存储结构和数组 D、 线性存储结构和非线性存储结构
9、数组通常具有的两个基本操作是( )
A、 建立和删除 B、 索引和修改
C、 查找和修改 D、 查找和索引
10、栈和队列的共同点是 ( )。
A、 都是先进后出 B、 都是先进先出
C、 只允许在端点处插入和删除元素 D、 没有共同点
三、程序填空题
四、回答下列问题
1、 设有五个结点,结点关键字值分别为A、B、C、D、E,权值分别是4、3、3、2、1,
画出对应的Huffman(哈夫曼)树。
2、写出下图所示二叉树按前序、中序、后序和层次遍历得到的结点序列。
A
B
C
DE
G
F
H
3、已知稀疏矩阵A如下,写出对应的三元组表示:
A: 1200000400307005。
4、给出下列上三角矩阵的压缩存储地址表示
a00 a01 … a 0 n-1
c a11 … a 1 n-1
…………………..
c c … a
n-1 n-1
5、给出下图的前根、后根遍历结点序列
6、给出下图中各顶点的度(分入度和出度)
7、给出下图的邻接矩阵
8、已知下图,给出按prim算法得出的最小生成树
五、编写下列函数(第一题5分,第二题10分,共15分)
1、已知单链表H,写一个算法将其倒置。
2、一棵n个结点的完全二叉树以向量作为存储结构,试设计非递归算法对该完全二叉树进
行前序遍历。
3、已知不带头结点的单链表H,写一个算法求其表长。
4、给定一棵二叉树,其根指针为root,试写出求二叉树结点的数目的算法。
5、假使A、B是两个按结点值从小到大排列的线性链表,编写一个将这两个有序的线性链
表归并为一个按结点值从小到大排列的线性链表java的函数。
先根次序:访问根结点,遍历左子树,遍历右子树。(根左右)
中根次序:遍历左子树,访问根结点,遍历右子树。(左跟右)
后根次序:遍历左子树,遍历右子树,访问根结点。(左右根)
已知先根和中根两种遍历序列,或中根和后根两种遍历序列能唯一确定一课二叉树;而已知
先根和后根两种遍历序列任然无法唯一确定一棵二叉树。