数据结构复习题
《数据结构》复习题题库

一、单项选择题(本大题共71小题,每小题2分,共142分)1、一个对象序列的排序码为{46,79,56,38,40,84},采用快速排序以位于最左位置的对象为基准而得到的第一次划分结果为()。
()A.{38,46,79,56,40,84}B.{38,79,56,46,40,84}C.{40,38,46,56,79,84}D.{38,46,56,79,40,84}标准答案:C2、广义表((a),a)的表头是()。
()A.aB.bC.(a)D.((a))标准答案:C3、数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,存放该数组至少需要的单元数是()。
()A.80B.100C.240D.270标准答案:C4、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行()。
()A.HL=p;p->next=HL;B.p->next=HL;HL=p;C.p->next=HL;p=HL;D.p->next=HL->next;HL->next=p;标准答案:B5、一个具有n个顶点的无向完全图的边数为()。
()A.(n+1)/2B.n(n-1)/2C.n(n-1)D.n(n+1)标准答案:B6、如果待排序序列中两个数据元素具有相同的值,在排序后它们的位置发生颠倒,则称该排序是不稳定的。
下列选项中,()就是不稳定的排序方法。
()A.起泡排序B.归并排序C.直接插入法排序D.简单选择排序标准答案:D7、按照二叉树的定义,具有3个结点的二叉树有()种。
()A.3B.4C.5D.6标准答案:C8、设有1000个元素,用二分法查找时,最大比较次数是()。
()A.1B.7C.10D.25标准答案:C9、树适合用来表示()。
()A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据标准答案:C10、设有两个串p和q,求p在q中首次出现的位置的运算称作()。
数据结构复习习题和答案(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.非线性结构是数据元素之间存在一种()。
数据结构复习题及答案5篇

数据结构复习题及答案5篇第一篇:数据结构复习题及答案、数据结构复习题及答案中南大学现代远程教育课程考试(专科)复习题及参考答案数据结构一、判断题:1.数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的。
()2.链式存储在插人和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序。
()3.在只有度为0和度为k的结点的k叉树中,设度为0的结点有n0个,度为k的结点有nk个,则有n0=nk+1。
()4.折半搜索只适用于有序表,包括有序的顺序表和有序的链表。
()5.如果两个串含有相同的字符,则这两个串相等。
()6.数组可以看成线性结构的一种推广,因此可以对它进行插入、删除等运算。
()7.在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。
()8.通常递归的算法简单、易懂、容易编写,而且执行的效率也高。
()9.一个广义表的表尾总是一个广义表。
()10.当从一个小根堆(最小堆)中删除一个元素时,需要把堆尾元素填补到堆顶位置,然后再按条件把它逐层向下调整,直到调整到合适位置为止。
()11.对于一棵具有n个结点,其高度为h的二叉树,进行任一种次序遍历的时间复杂度为O(h)。
()12.存储图的邻接矩阵中,邻接矩阵的大小不但与图的顶点个数有关,而且与图的边数也有关。
()13.直接选择排序是一种稳定的排序方法。
()14.闭散列法通常比开散列法时间效率更高。
()15.有n个结点的不同的二叉树有n!棵。
()16.直接选择排序是一种不稳定的排序方法。
()17.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序比用锦标赛排序更快。
()18.当3阶B_树中有255个关键码时,其最大高度(包括失败结点层)不超过8。
()19.一棵3阶B_树是平衡的3路搜索树,反之,一棵平衡的3路搜索树是3阶非B_树。
()20.在用散列表存储关键码集合时,可以用双散列法寻找下一个空桶。
《数据结构》复习题

《数据结构》复习题一.选择题:1.数据结构是研究数据的( ) 以及它们之间的相互关系A.理想结构,物理结构B.理想结构,抽象结构C.物理结构,逻辑结构D.抽象结构,逻辑结构2. 组成数据的基本单位是()A.数据项B.数据类型C. 数据元素D. 数据变量3. 如果某数据结构的数据元素的集合为S={A,B,C,D,E,F,G},元素之间的关系为R={<A,D>,<A,G>,<D,B>,<D,C>,<G,E>,<G,F>},则该数据结构是一种()A.线性结构B. 树结构C. 图结构D. 链表结构4. 线性表的链接实现有利于( ) 运算A.插入B.读表元C.查找D.定位5. 设一数列的输入顺序为1,2,3,4,5,6通过栈操作不可能排成的输出序列为()A. 3,2,5,6,4,1B. 1,5,4,6,2,3C. 2,4,3,5,1,6D. 4,5,3,6,2,16. 设字符串S1=‘ABCDEFG’,S2=‘PQRST’则运算S=Concat(Sub(S1,2,Length(S2)),Sub(S1,Length(S2),2))后结果为()A.‘BCQR’B.‘BCDEF’C.‘BCDEFG’D.‘BCDEFEF’7. 设单链表中指针P指向结点A,若要删除A之后的结点(若存在),则修改指针的操作为()A. p→next= p→next→nextB. p= p→nextC. p= p→next→nextD. p→next = p8. 线性表采用链式存储时,其地址()A. 必须是连续的B.部分地址必须是连续的C. 一定是不连续的D.连续与否均可以9. 在内部排序时,排序不稳定的有()A.插入排序B. 冒泡排序C. 快速排序D.归并排序10. 设有1000个元素,用折半法查找时,最小比较次数为()A.0B. 1C.10D. 50011. 将一个元素进入队列的时间复杂度是()n)A. O (1)B. O (n)C. O (n2)D. O (log212. 在一个具有n个结点的单链表中查找其值等x的结点,在查找成功的情况下,需要比较()个元素结点A. n/2B. nC. (n+1)/2D. (n-1)/213. 从一个长度为n的顺序表中删除第i个元素(1≤i≤n),需向前移动()个元素A. n-iB. n-i+1C. n-i-1D. i14. 总共3层的完全二叉树,其结点数至少有()A.3B. 4C.7D.815. 队列操作的原则是()A. 先进先出B.后进先出C. 只能进行插入D. 只能进行删除16. 若线性表最常用的操作是存取第i个元素及其前驱元素的值,则采用()存储方式最节省时间A.单链表B. 双向链表C. 音循环链表D. 顺序表17. 栈和队列都是()A. 顺序存储的线性结构B. 限制存取点的线性结构C. 链接存储的线性结构D. 限制存取点的非线性结构18. 与线性表的链接存储相符的特性是()A.插入和删除操作灵活B. 需要连续存储空间C. 便于随机访问D. 存储密度大19.若进队序列为1,2,3,则出队序列是()A.3,2,1B. 1,3,2C. 1,2,3D. 3,2,120. 在单向循环链表中,若头指针为h,那么p所指结点为尾结点的条件是()A. p= NULLB. p→next= NULLC. p=hD. p→next= h3. 在双向循环链表中,在指针P所指的结点之后插入指针f所指的结点,其操作为。
(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题15分,共60分)答题要求:①⽤⾃然语⾔说明所采⽤算法的思想;②给出每个算法所需的数据结构定义,并做必要说明;③写出对应的算法程序,并做必要的注释。
1、有⼀个带头结点的单链表,每个结点包括两个域,⼀个是整型域info,另⼀个是指向下⼀个结点的指针域next。
假设单链表已建⽴,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留⼀个。
3、约瑟夫环问题(Josephus问题)是指编号为1、2、…,n的n(n>0)个⼈按顺时针⽅向围坐成⼀圈,现从第s个⼈开始按顺时针⽅向报数,数到第m个⼈出列,然后从出列的下⼀个⼈重新开始报数,数到第m的⼈⼜出列,…,如此重复直到所有的⼈全部出列为⽌。
现要求采⽤循环链表结构设计⼀个算法,模拟此过程。
4、编程实现单链表的就地逆置。
23.在数组 A[1..n]中有n个数据,试建⽴⼀个带有头结点的循环链表,头指针为h,要求链中数据从⼩到⼤排列,重复的数据在链中只保存⼀个.5、设计⼀个尽可能的⾼效算法输出单链表的倒数第K个元素。
3、假设以I和O分别表⽰⼊栈和出栈操作。
栈的初态和终态均为空,⼊栈和出栈的操作序列可表⽰为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为⾮法序列。
(15分)(1)下⾯所⽰的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出⼀个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存⼊⼀维数组中)。
5、设从键盘输⼊⼀整数的序列:a1, a2, a3,…,an,试编写算法实现:⽤栈结构存储输⼊的整数,当ai≠-1时,将ai进栈;当ai=-1时,输出栈顶整数并出栈。
算法应对异常情况(⼊栈满等)给出相应的信息。
设有⼀个背包可以放⼊的物品重量为S,现有n件物品,重量分别为W1,W2,...,W n。
数据结构复习题

一单选题 (共20题,总分值60分 )1. 下列叙述中错误的是()。
(3 分)A. 由树的先序遍历序列和后序遍历序列可以惟一确定一棵树B. 二叉树不同于度为2的有序树C. 深度为k的二叉树上最少有k个结点D. 在结点数目相同的二叉树中,最优二叉树的路径长度最短2. 顺序表中数据元素的存取方式为()。
(3 分)A. 随机存取B. 顺序存取C. 索引存取D. 连续存取3. 设有向图G中有五个顶点,各顶点的度分别为3、2、2、1、2,则G中弧数为()。
(3 分)A. 4条B. 5条C. 6条D. 无法确定4. 下列关于文件的说法,错误的是()。
(3 分)A. 选择文件的组织方式时应考虑外存的性质和容量B. 不定长文件指的是总长度可变的文件C. 对文件的操作主要是维护和检索D. 文件的存储结构指的是文件在外存上的组织方式5. ISAM文件和VSAM文件属于()。
(3 分)A. 索引非顺序文件B. 索引顺序文件C. 顺序文件D. 散列文件6. 适用于折半查找的表的存储方式及元素排列要求为()。
(3 分)A. 链接方式存储,元素无序B. 链接方式存储,元素有序C. 顺序方式存储,元素无序D. 顺序方式存储,元素有序7. 在数据结构中,数据的()结构是独立于计算机的。
(3 分)A. 逻辑B. 存储C. 散列D. 索引8. 设串s1='abcdefg',s2='ab',则Concat(s1,s2)的返回值()。
(3 分)A. abB. cdefgC. abcdefgD. abcdefgab9. 若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。
(3 分)A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序10. 设在一不带头结点的链队列中,front和rear分别为其队头和队尾指针,则判定该队中只有一个结点的条件是()。
(3 分)A. front->nextB. rear->nextC. front==rearD. front!=rear11. 具有n个顶点的有向强连通图最少有()条弧。
数据结构复习题

一、单项选择题1.评价一个算法时间性能的主要标准是()A.算法易于调试B. 算法易于理解C.算法的稳定性和正确性D.算法的时间复杂度2.可用带表头结点的链表来表示表,也可用不带表头结点的链表来表示表,前者的主要好处是()A.可以加快对表的遍历B.使空表和非空表的处理统一C.提高存取结点的速度D.节省存储空间3.稀疏矩阵一般的压缩存储有两种,即()。
A.一维数组和二维数组B.一维数组和三元组C.二维数组和十字链表D.三元组和十字链表4.链表不具有的特点是()。
A.可随机访问任一元素B.插入删除不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度成正比5.非空的循环单链表head的尾结点p满足()。
A.P->next==NULL B.p==NULL C.P->next==head D.P==head 6.对稀疏矩阵进行压缩存储是为了()。
A.便于进行矩阵运算B.便于输入和输出C.节省存储空间D.降低运算的时间复杂度7.数据结构中,与所使用的计算机无关的是数据的()结构。
A.顺序B.物理C.逻辑D.物理和存储8.在长度为n的顺序表中插入一个元素时,等概率情况下的平均移动元素的次数是()。
A.(n-1)/2B.n/2C.n*(n-1)/2D.(n+1)/29.对于一个头指针为H的带头结点的单链表,判定该表为空表的条件是()A. H==NULL B.H!=NULL C.H→next ==H D.H→next==NULL10. 在一个顺序表中,若表的第一个元素的存储地址是210,每一个元素的长度为3,则第5个元素的存储地址是()。
A.219 B.222 C.225 D.22811. 栈S最多能容纳4个元素,现有6个元素按a,b,c,d,e,f的顺序进栈,下面序列()是可能的出栈序列。
A.edcbaf B.bcefad C.cbedaf D.adfebc12.循环队列用数组A[M]存放元素,已知其头尾指针分别为front和rear,则当前队列中的元素个数是()。
数据结构复习题(附答案)

数据结构复习题(附答案)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 )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习一一、填空:1、抽象数据类型的三要素是,,。
2、队列是。
3、线索二叉树是。
4、数据的逻辑结构是。
5、在大根堆中,关键值最大的元素是。
6、在记录集{2、5、7、10、14、15、18、20、22}中,进行二分查找,若要查找元素18,共需要比较次关键字。
7、分层依次将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么树的深度为。
8、在一个长度为 n 的顺序表中第 i 个位置插入新元素时,需向后移动元素个数是。
9、在直接插入排序中使用监视哨的作用是。
10、在含n 个顶点和 e 条边的无向图的邻接矩阵中,零元素的个数为。
二、判断题(正确在题后括号内划“√”,错误划“×”)1、在拓扑排序中,拓扑序列的第一个顶点必定是出度为零的顶点。
()2、算法DFS应用于一个带权连通图时,所经过的边形成一棵最小生成树。
()3、(101,88,46,70,34,39,45,58,66,10)是堆。
()4、n个结点的树的各结点度数之和为n-1。
()5、由二叉树的前序序列和中序序列能唯一确定一棵二叉树。
()6、有向图中一个顶点i的出度等于其邻接矩阵中第i列的非0元素的个数。
()7、哈夫曼树的带权路径长度WPL等于各叶子结点的带权路径长度之和()8、所谓冲突即是两个关键字的值不同的元素,其散列地址相同。
()9、设一个9阶的上三角矩阵A 按列优先顺序压缩存储在一维数组B 中,其中B[1] 存储矩阵中第一个元素a[1,1], 则B[5] 中存放的元素是a[2,3]。
()10、在串S ="structure" 中,以 t 为首字符的子串有 8个。
()三、求解与简答题:1、以数据集{2,6,13,17,20,30}为叶子结点的权值。
(1)构造一棵哈夫曼树。
(2)计算其带权路径长度。
2、从一棵空的二叉排序树开始,将以下关键字值依次插入:28,20,13,15,31,7,23,37,请画出插入全部完成后的二叉排序树。
假定每个数据的查询概率相等,试计算查找成功的平均查找长度ASL的值。
3、请比较队列与栈两种数据结构异同点,举例说明其应用场合。
4、对关键字序列( 72, 87, 61, 23, 100, 15, 7, 60 ) 进行堆排序,结果应按关键字递减次序排列(采用小根堆排序)。
(1)试以二叉树的形式给出得到初始堆的过程;(2)写出经过二趟排序后关键字序列状态。
5、设有下列无向图:(1)请写出图的邻接矩阵与该图的邻接表。
(2)从V1出发,以邻接矩阵为存储结构,给出其DFS序列。
(3)从V1出发,以邻接表为存储结构,给出其BFS序列。
四、算法与编程题:1、采用顺序存储结构,写出对n个记录进行简单选择排序的算法。
2、假设以数组seq[Maxqsize] 循环存放队列的元素,同时设立队头指针front,队尾指针rear。
(1)用typedef定义出使用的存储结构;(2)给出初始化队列的算法;(3)给出入队的算法;3、以二叉链表为存储结构,给出分层遍历二叉树的算法(从上至下、从左到右)。
参考答案一、填空:1、数据对象、数据关系、数据上的基本操作。
2、先进先出的线性表(FIFO)。
插入在表的一端进行,删除在在表的另一端进行。
3、加上线索的二叉树,线索是指向结点的前驱与后续的指针。
4、数据元素之间的逻辑关系。
5、根元素6、27、[log2n]+18、n-i+19、减少比较次数、提高算法效率。
10、n2–2 e二、判断题(正确在题后括号内划“√”,错误划“×”)1、×2、×3、√4、√5、√6、×7、√8、√9、√10、×三、求解与简答题:解:(1)哈夫曼树为:(6分)(2)带权路径长度WPL=(2+6)*4+13*3+(17+20+30)*2=2052、(10分)(1)二叉排序树为:(6分)(2)查找成功的平均查找长度ASL=(4*2+3*3+2*2+1)/8=11/43、相同点:都是一种线性表;不同点:对操作进行了不同限制,队列具有:FIFO 特性,栈具有:LIFO 特性。
(3分)函数递归调用情况用栈,图的BFS 遍历用队列。
()4、(1)初始堆为:()(2)二趟排序后关键字序列状态为:{ 23,60,61,87,100,72,15,7 } ()5、(15分)(1)邻接矩阵为:(4分)A=邻接表:(2)从V1出发,以邻接矩阵为存储结构,给出其DFS序列为:V1,V2,V6,V4,V5,V3;(3)从V1出发,以邻接表为存储结构,给出其BFS序列为:V1,V2,V3,V4,V6,V5;四、算法与编程题:1、简单选择排序的算法:Typedef struct {Keytype key ;Infotype otherinfo;} Redtype;Typedef struct {Redtype r[Maxsize+1] ;Int length ;} Sqlist;Void Selectsort(Sqlist & L){for (i=1;i<=L.length;++i){k=i;for (j=i+1;j<=L.length;++j){if (L.r[j].key< L.r[k].key) k=j;}if (k!=i){temp=L.r[i];L.r[i]=L.r[k];L.r[k]=temp;}}}2、(1)用typedef定义出存储结构#Define Maxqsize 100;Typedef int Qelemtype;Typedef struct {QElemtype *seq;Int front ,rear;} SqQueue;(2)置空队列的算法Status InitQueue(SqQueue &Q){ Q. seq = (Qelemtype*) mallac(Maxqsize*sizeof(Qelemtype));if (!Q. seq) exit(errorinfomation);Q.front =Q.rear=0//或Maxqsize-1Return ok;}(3)入队的算法Status EnQueue(SqQueue &Q, Qelemtype e){if ((Q.rear+1)% Maxqsize== Q.front) return error; Q. seq [Q.rear]=e;Q.rear=(Q.rear+1)% Maxqsize;Return ok;}3、typedef struct node { Telemtype data;struct node *lchild, *rchild;} BiTNode, *BiTree;Status Levelorder(BiTree T){InitQueue(Q);if(!T) RETURN OK;ENQUEUE (Q,T);while (!EMPTY(Q)){p=DEQUEUE(Q);Printf(p->data);if (p-> lchild) ENQUEUE (Q, p-> lchild);if (p->rlchild) ENQUEUE (Q, p->rlchild);}}复习题二一、填空:1、图的最小生成树,是指。
2、栈是指。
3、哈希函数是指。
4、索引文件是指。
5、算法是指。
6、分层依次将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当1<i<n时,结点i的双亲是,i是奇数,则i的兄弟结点为。
7、在记录集{1、2、3、4、5、6、7}中,进行快速排序,具有最少比较与交换次数的初始记录排列应为。
8、对一棵二叉查找树根结点而言,左子树中所有结点与右子树中所有结点的关键字大小关系是。
9、如果入栈序列是1,3,5,…,97,99,且出栈序列的第一个元素为99,则出栈序列中第10个元素为______。
10、在执行简单的串匹配算法时,最坏的情况为每次匹配比较不等的字符出现的位置均为。
二、判断题(正确的在题后括号内划“√”,错误的划“×”):1、用邻接矩阵表示图所用的存储空间大小与图的边数成正比。
()2、散列表中产生冲突的可能性大小与负载因子有关。
()3、队列只能采用顺序存储方式。
()4、树转化为对应的二叉树后,两者的边数相等。
()5、由二叉树的先序序列和中序序列能唯一确定一棵二叉树。
()6、哈夫曼树是带权路径长度最短的树,路径上权值较大的结点离根很较近。
()7、某带头结点的单链表的头指针为head,判定该链表为非空的条件是head==NULL。
()8、将一棵树转换成二叉树后,根结点只有一棵子树。
()9、对n个元素用快速排序方法进行排序,平均时间复杂度是O(n2)。
()10、在含n个顶点的无向连通图中,任意两个不同顶点之间的一条简单路径最多包含n-1条边。
()三、求解与简答题:1、以数据集{9,2,5,7,13,30}为叶子结点的权值。
(1)构造一棵哈夫曼树。
(2)给出叶结点集的哈夫曼编码。
2、设a1, a2, a3 是不同的关键字且a1 < a2 < a3,可组成6种不同的输入顺序。
(1)哪几种输入顺序所构成的二叉排序树的高度为3;(2)画出对应的二叉排序树。
3、把记录集(28,13,19,35,15,37,100)用快速排序方法进行排序,详细给出第一趟排序的过程,写出每趟排序完成的记录集状态。
4、简述用哈希表进行存储中处理碰撞(冲突)的两类基本方法5、设有下列有向图:(1)请写出图的邻接矩阵与该图的邻接表。
(2)从V1出发,以邻接矩阵为存储结构,给出其DFS序列。
(3)从V1出发,给出其拓扑排序序列。
四、算法与编程题:1、写出对n个记录进行直接插入排序的算法。
2、假设以数组seq[maxqsize]存放循环队列的元素,同时设立队头指针front,队尾指针rear。
(1)队列满、队列空的条件;(2)写出出队的算法;3、以二叉链表为存储结构,试给出求二叉树高度的算法。
参考答案一、填空:1、连通图中最小代价生成树。
2、先进后出的线性表(LIFO )。
插入、删除都在表的一端进行。
3、关键字与存储位置之间的映射函数。
4、包括文件数据区与索引表两部份的文件。
5、求解问题的有限指令序列,具有有穷性等五个重要特征。
6、[i/2],i+17、{4,1,3,2,6,5,7}8、小于关系9、90。
10、子串最后一个字符。
二、判断题(正确在题后括号内划“√”,错误划“×”)1、 ×2、√3、 ×4、√5、√6、 √7、 ×8、 √9、× 10、√1、() 解:(1(2)叶结点的哈夫曼编码为 2:0000; 5:0001; 7:001; 9:010; 13:011; 30:0;2、()(1)输入顺序为:()1)a1,a2,a3 ; 2) a1,a3,a2; 3) a3,a2,a1; 4) a3,a1,a2 ;(2)对应的二叉排序树 (4分)1) 2) 3) 4)3、(10分)1)[15,13,19 ],28,[35,37,100]2)[13],15,[19],28,35,[37,100] 3)13,15,19,28,35,37,[100] 4)13,15,19,28,35,37,1004、哈希表进行存储时,当key1 !=key2 时,但f (key1)=f(key2);此时出现冲突。