数据结构考试复习题(绝密版)副本
数据结构复习题及参考答案

数据结构复习题及参考答案《数据结构》课程复习资料一、填空题:1.设需要对5个不同的记录关键字进行排序,则至少需要比较________次,至多需要比较__________次。
2.设二叉排序树的高度为h,则在该树中查找关键字key最多需要比较_________次。
3.设在长度为20的有序表中进行二分查找,则比较一次查找成功的结点数有_________个,比较两次查找成功有结点数有_________个。
4.数据结构从逻辑上划分为三种基本类型:___________、__________和___________。
5.在一个具有n个顶点的无向完全图中,包含有________条边,在一个具有n个顶点的有向完全图中,包含有________条边。
6.向一棵B_树插入元素的过程中,若最终引起树根结点的分裂,则新树比原树的高度___________。
7.在堆排序的过程中,对任一分支结点进行筛运算的时间复杂度为________,整个堆排序过程的时间复杂度为________。
8.在快速排序、堆排序、归并排序中,_________排序是稳定的。
9.在有n个叶子结点的哈夫曼树中,总结点数是_______。
10.一棵树T采用二叉链表存储,如果树T中某结点为叶子结点,则在二叉链表BT中所对应的结点一定_______。
11.3.已知数组A[10][10]为对称矩阵,其中每个元素占5个单元。
现将其下三角部分按行优先次序存储在起始地址为1000的连续的内存单元中,则元素A[5,6]对应的地址是_______。
12.在有n个结点的无向图中,其边数最多为_______。
13.取出广义表A=(x,(a,b,c,d))中原子x的函数是_______。
14.对矩阵采用压缩存储是为了___ ____。
15.带头结点的双循环链表L为空表的条件是_______。
16.设线性表中元素的类型是实型,其首地址为1024,则线性表中第6个元素的存储位置是。
(完整版)数据结构复习题(附答案)

(完整版)数据结构复习题(附答案)⼀、算法设计题(每题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。
数据结构考试题目及答案pdf

数据结构考试题目及答案pdf一、单项选择题(每题2分,共10分)1. 在数据结构中,线性结构和非线性结构的主要区别在于()。
A. 数据元素之间是否有逻辑关系B. 是否有且仅有一个根节点C. 是否有多个根节点D. 数据元素之间是否有顺序关系答案:A2. 链表中每个节点包含数据元素和()。
A. 一个指针B. 多个指针C. 一个数据域D. 一个数据域和一个指针答案:D3. 在二叉树的遍历中,先序遍历的顺序是()。
A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表解决冲突的方法不包括()。
A. 开放寻址法B. 链地址法C. 线性探测法D. 二分查找法答案:D5. 堆是一种特殊的完全二叉树,其特点是()。
A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都大于或等于其子节点的值D. 每个节点的值都小于或等于其子节点的值答案:C二、填空题(每题2分,共10分)1. 在顺序表中,插入一个元素的平均时间复杂度为 O(n) 。
2. 栈是一种特殊的线性表,其特点是后进先出(LIFO),即后进的元素先出栈。
3. 快速排序的时间复杂度在最坏情况下为 O(n^2) 。
4. 广义表的表示形式为 (a, b, c) ,其中a、b、c可以是数据元素或子表。
5. 在图的遍历中,深度优先搜索(DFS)使用的是栈数据结构。
三、简答题(每题10分,共20分)1. 请简述二叉搜索树和平衡二叉树的区别。
答:二叉搜索树是一种特殊的二叉树,其中每个节点的左子树只包含小于该节点的值,右子树只包含大于该节点的值。
平衡二叉树除了满足二叉搜索树的性质外,还要求每个节点的左子树和右子树的高度差不超过1,以保持树的平衡,从而提高查找效率。
2. 什么是图的连通分量?请举例说明。
答:图的连通分量是指图中的最大的连通子图。
如果一个图不是连通的,那么它将被划分为若干个连通分量,每个连通分量内部的顶点都是相互连通的,但不同分量之间没有直接的边相连。
数据结构期末复习章节试题(附答案)

答:O(n2)s
1
1
2
3.
x=0; for(i=1; i<n; i++) for (j=1; j<=n-i; j++) x++; 解:因为 x++共执行了 n-1+n-2+…… +1= n(n-1)/2, 所以执行时间为 O (n2)
4.
i=1; while(i<=n) i=i*3; 答供选择的答案中, 选出应填入下面叙述 ? 内的最确切的解答, 把相应编号写在答卷的对应栏内。 栈是一种线性表,它的特点是 A 。设用一维数组 A[1,…,n]来表示一个栈,A[n]为栈底,用整型变量 T 指示当前栈顶位置,A[T]为栈顶元素。往栈中推入(PUSH)一个新元素时,变量 T 的值 B ;从栈中 弹出(POP)一个元素时,变量 T 的值 C 。设栈空时,有输入序列 a,b,c,经过 PUSH,POP,PUSH, PUSH,POP 操作后,从栈中弹出的元素的序列是 D ,变量 T 的值是 E 。 供选择的答案: A: ① 先进先出 ②后进先出 ③进优于出 ④出优于进 ⑤ 随机进出 B,C: ① 加 1 ②减 1 ③不变 ④清 0 ⑤ 加 2 ⑥减 2 D:① a,b ②b,c ③c,a ④b,a ⑤ c,b ⑥ a,c E:① n+1 ②n+2 ③ n ④ n-1 ⑤ n-2 答案:ABCDE=2, 2, 1, 6, 4 注意,向地址的高端生长,称为向上生成堆栈;向地址低端生长叫向下生成堆栈,本题中底部为 n,向地 址的低端递减生成,称为向下生成堆栈。 8.从供选择的答案中,选出应填入下面叙述 ? 内的最确切的解答,把相应编号写在答卷的对应栏内。 在做进栈运算时,应先判别栈是否 A ;在做退栈运算时,应先判别栈是否 B 。当栈中元素为 n 个,做进栈运算时发生上溢,则说明该栈的最大容量为 C 。 为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时,应将两栈的 D 分别设在这片内存空间的两端,这样,只有当 E 时,才产生上溢。 供选择的答案: A,B:①空 ② 满 ③ 上溢 ④ 下溢 C: ①n-1 ② n ③ n+1 ④ n/2 D: ① 长度 ②深度 ③ 栈顶 ④ 栈底 E:①两个栈的栈顶同时到达栈空间的中心点 ②其中一个栈的栈顶到达栈空间的中心点 ③两个栈的栈顶在达栈空间的某一位置相遇 ④两个栈均不空,且一个栈的栈顶到达另一个栈的栈底 答案:ABCDE=2, 1, 2, 4, 3 四、简答题(每小题 4 分,共 20 分) 1. 【严题集 3.2①和 3.11①】说明线性表、栈与队的异同点。 刘答:相同点:都是线性结构,都是逻辑结构的概念。都可以用顺序存储或链表存储;栈和队列是两种特 殊的线性表,即受限的线性表,只是对插入、删除运算加以限制。 不同点:①运算规则不同,线性表为随机存取,而栈是只允许在一端进行插入、删除运算,因而是后进先 出表 LIFO;队列是只允许在一端进行插入、另一端进行删除运算,因而是先进先出表 FIFO。 ② 用途不同,堆栈用于子程调用和保护现场,队列用于多道作业处理、指令寄存及其他运算等等。 2. 【统考书 P60 4-11,难于严题集 3.1①】设有编号为 1,2,3,4 的四辆列车,顺序进入一个栈式结构的 车站,具体写出这四辆列车开出车站的所有可能的顺序。 刘答:至少有 14 种。 ① 全进之后再出情况,只有 1 种:4,3,2,1 ② 进 3 个之后再出的情况,有 3 种,3,4,2,1 3,2,4,1 3,2,1,4 ③ 进 2 个之后再出的情况,有 5 种,2,4,3,1 2,3,4,1 2,1, 3,4 2,1,4,3 2,1,3,4 ④ 进 1 个之后再出的情况,有 5 种,1,4,3,2 1,3,2,4 1,3,4,2 1, 2,3,4 1,2,4,3 3. 假设正读和反读都相同的字符序列为“回文” ,例如, ‘abba’和‘abcba’是回文, ‘abcde’ 和‘ababab’ 则不是回文假设一字符序列已存入计算机请分析用线性表、堆栈和队列等方式正确输出其回文的可能性? 答:线性表是随机存储,可以实现,靠循环变量(j--)从表尾开始打印输出; 堆栈是后进先出,也可以实现,靠正序入栈、逆序出栈即可; 队列是先进先出,不易实现。 哪种方式最好,要具体情况具体分析。若正文在机内已是顺序存储,则直接用线性表从后往前读取即可, 或将堆栈栈顶开到数组末尾,然后直接用 POP 动作实现。 (但堆栈是先减后压还是……) 若正文是单链表形式存储,则等同于队列,需开辅助空间,可以从链首开始入栈,全部压入后再依次输出。 4. 【统考书 P60 4-13】顺序队的“假溢出”是怎样产生的?如何知道循环队列是空还是满?
数据结构复习题(精心整理).docx

数据结构复习题(精⼼整理).docx数据结构复习题(打星号内容可以不考虑)习题1 绪论1.1单项选择题1. 数据结构是⼀门研究⾮数值计算的课程,它研究程序设计问题中数据元素的①、数据信息在计算机中的②以及⼀组相关的运算等的课程。
① A.操作对象 B ?计算⽅法 C.逻辑结构 D.数据映象② A.存储结构B.关系C.运算D.算法2. 数据结构DS(Data Struct)可以被形式地定义为DS= (D, R),其中D 是①的有限集合,R 是D 上的②有限集合。
① A.算法B.数据元素C.数据操作D.数据对象② A.操作B.映象C.存储D.关系3. 在数据结构中,从逻辑上可以把数据结构分成。
A. 动态结构和静态结构B.紧凑结构和⾮紧凑结构C.线性结构和⾮线性结构D.内部结构和外部结构4. 算法分析的⽬的是①,算法分析的两个主要⽅⽽是②。
5. 计算机算法指的是①,它必具备输⼊、输出和②等五个特性。
①A.计算⽅法C. 解决问题的有限运算序列②A.可⾏性、可移植性和可扩充性 C. 确定性、有穷性和稳定性1.2填空题(将正确的答案填在相应的空中)1. 数据逻辑结构包括、和三种类型,树形结构和图形结构合称为。
2. 在线性结构⼬,第⼀个结点前驱结点,其余每个结点有且只有个前驱结点;最后⼀个结点后续结点,其余每个结点有且只有个后续结点。
3. 在树形结构中,树根结点没冇结点,其余每个结点冇仇只冇个直接前驱结点,叶⼦结点没有结点,其余每个结点的直接后续结点可以。
4. 在图形结构中,每个结点的前驱结点数和后续结点数可以。
5. 线性结构中元素Z 间存在关系,树形结构中元素之间存在关系,图形结构中元素Z① A.找出数据结构的合理性C.分析算法的效率以求改进② A.空间复杂性和时间复杂性C.可读性和⽂档性B. 研究算法⼬的输⼊和输出的关系D.分析算法的易懂性和⽂档性B. 」E 确性和简明性 B.排序⽅法D.调度⽅法B.可⾏性、确定性和有穷性 D.易读性、稳定性和安全性间存在关系。
数据结构复习题(附答案)

数据结构复习题(附答案)数据结构复习题(附答案)数据结构是计算机科学中非常重要的一门课程,其涉及到对数据的组织、存储和管理方法的研究。
在学习数据结构的过程中,我们通常需要进行大量的练习和复习以加深对各种数据结构和算法的理解。
本文将为大家提供一些数据结构的复习题,并附有详细的答案解析。
一、栈和队列1. 给定一个字符串,判断其中的括号序列是否合法。
例如,"{([])}"是合法的括号序列,而"{[)]}"则是非法的。
答案:使用栈的数据结构可以很方便地解决这个问题。
遍历字符串,遇到左括号就将其入栈,遇到右括号就判断对应的左括号是否与栈顶元素相匹配,如果匹配则将栈顶元素出栈,继续比较下一个字符。
最后,栈为空则表示括号序列合法。
2. 设计一个队列,实现队列的基本操作:入队、出队、获取队头元素和判断队列是否为空。
答案:可以使用一个数组来实现队列,使用两个指针front和rear分别指示队头和队尾的位置。
入队操作时,将元素添加到rear指向的位置,并将rear后移一位;出队操作时,将front后移一位;获取队头元素时,返回front指向的位置的元素;判断队列是否为空可以通过比较front和rear来确定。
3. 反转一个单链表。
答案:使用三个指针prev、curr和next来实现链表的反转。
初始时,将prev指向null,curr指向头节点,next指向curr的下一个节点。
然后,将curr的next指向prev,将prev指向curr,将curr指向next,再将next指向next的下一个节点。
重复这个操作,直到链表反转完成。
4. 判断一个单链表中是否存在环。
答案:使用快慢指针的方法可以判断一个单链表中是否存在环。
如果存在环,那么快指针最终会追上慢指针;如果不存在环,那么快指针最终会达到链表的末尾。
三、树和图5. 给定一个二叉树,编写一个算法来判断它是否是平衡二叉树。
答案:平衡二叉树的定义是指二叉树的每个节点的左子树和右子树的高度差不超过1。
数据结构考试复习题复习.doc

数据结构考试复习题复习.doc3.关于逻辑结构,以下说法错误的是()①逻辑结构与数据元素本⾝的形成、内容⽆关②逻辑结构与数据元素的相对位置有关③逻辑结构与所含结点个数⽆关④⼀些表⽽上很不相同的数据可以有相同的逻辑结构⑤逻辑结构是数据组织的某种"本质性"的东西7.通常从正确性、易读性、健壮性、⾼效性等四个⽅⽽评价算法(包括程序)的质量。
以下解释错误的是()①正确性算法应能正确地实现预定的功能(即处理要求)②易读性算法应易于阅读和理解以便于调试修改和扩充③健壮性当环境发⽣变化吋,算法能适当地做出反应或进⾏处理,不会产⽣不需要的运⾏结果④⾼效性即达到所需要的吋IX!性能8.对于数据结构课程的主要内容,以下解释正确的是()①数据结构的定义,包括逻辑结构、存储结构和基本运算集②数据结构的实现,包括存储实现、运算实现和基本运算集③数据结构的评价和选择,包括逻辑结构的选择、基本运算集的选择和存储选择12以下说法正确的是()①所谓数据的逻辑结构指的是数据元素之1X1的逻辑关系。
②逻辑结构与数据元素本⾝的内容和形式⽆关③顺序⽂件只适合于存放在磁带上,索引⽂件只能存放在磁盘上④基于某种逻辑结构之上的运算,其实现是惟⼀的13以下说法正确的是()①数据元素是数据的最⼩单位②数据项是数据的基本单位③数据结构是带有结构的各数据项的集合④数据结构是带有结构的数据元素的集合14以下说法错误的是()①所谓数据的逻辑结构指的是数据元素之间的逻辑关系的整体②数据的逻辑结构是指各数据元素之1X1的逻辑关系,是⽤户按使⽤需要⽽建⽴的③数据结构、数据兀素、数据项在计算机⼬的映象分别称为存储结构、结点、数据域④数据项是数据的基本单位15通常要求同⼀?逻辑结构⼬的所有数据元素具有相同的特性,这意味着()①数据元素具有同⼀特点②不仅数据元素所包含的数据项的个数耍相同,⽽且对应数据项的类型耍⼀致③每个数据元素都⼀样④数据元素所包含的数据项的个数要相等3.顺序表的⼀个存储结点仅仅存储线性表的⼀个()①数据元素②数据项③数据④数据结构4.顺序表是线性表的()①链式存储结构②顺序存储结构③索引存储结构④散列存储结构5.对于顺序表,以下说法错误的是()①顺序表是⽤⼀维数组实现的线性表,数组的下标可以看成是兀素的绝对地址②顺序表的所有存储结点按相应数据元素1X1的逻辑关系决定的次序依次排列③顺序表的特点是:逻辑结构中相邻的结点在存储结构中仍相邻④顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元⼬6.对顺序表上的插⼊、删除算法的吋间复杂性分析来说,通常以()为标准操作①条件判断②结点移动③算术表达式④赋值语句7.对于顺序表的优缺点,以下说法错误的是()①⽆需为表⽰结点间的逻辑关系⽽增加额外的存储空间②可以⽅便地随机存取表中的任⼀结点③插⼈和删除运算较⽅便④由于顺序表要求占⽤连续的空1X1,存储分配只能预先进⾏(静态分配)⑤容易造成⼀部分空间长期闲置⽽得不到充分利⽤8.指针的全部作⽤就是()①指向某常量②指向某变量③指向某结点④存储某数据9.除了(),其它任何指针都不能在算法中作为常量出现,也⽆法显⽰。
(完整版)数据结构复习题目及答案

(完整版)数据结构复习题目及答案数据结构 -C 语言版》第一章绪论单项选择题1.在数据结构中,数据的基本单位是 ________2.数据结构中数据元素之间的逻辑关系被称为__ ___ 。
A. 数据的存储结构B. 数据的基本操作C. 程序的算法3.在数据结构中,与所使用计算机无关的是数据的________ ___。
A. 存储结构B. 逻辑和物理结构C. 逻辑结构4.在链式存储结构中,数据之间的关系是通过 _______ ___ 体现的。
A. 数据在内存的相对位置B. 指示数据元素的指针C. 数据的存储地址D. 指针5.计算算法的时间复杂度是属于一种 ______ ___。
A. 事前统计的方法B. 事前分析估算的方法C. 事后统计的方法D. 事后分析估算的方法6.在对算法的时间复杂度进行估计的时候,下列最佳的时间复杂度是A. n 2B. nlognC. nD. logn 7.设使用某算法对 n 个元素进行处理,所需的时间是T(n)=100nlog 2n+200n+2000,则该算法的渐近时间复杂度为 _____ ___。
A. 数据项B. 数据类型C. 数据元素D. 数据变量D. 数据的逻辑结构D. 物理结构A. O(1)B. O(n)C. O(200n)D. O(nlog2n)CDCBBDD第二章线性表单项选择题1 ?链表不具有的特点是 __________ 。
A.可随机访问任一元素B.插入和删除时不需要移动元素C.不必事先估计存储空间D.所需空间与线性表的长度正比2.设顺序表的每个元素占 8个存储单元。
第1个单元的存储地址是100,则第6个元素占用的最后一个存储单元的地址为 ______________ 。
3 ?在线性链表存储结构下,插入操作算法_______________ B. p_>next = p_>n ext;D. p = p->n ext; p->n ext = p->n ext- >n ext;5 .将长度为n 的单链表接在长度为 m 的单链表之后的算法时间复杂度为 __________________ A. 0( n)B. 0(1)C. 0(m)D. 0(m+n)6 ?需要预分较大空间,插入和删除不需要移动元素的线性表,其存储结构是 ________A.单链表B.静态链表C.线性链表D.顺序存储方式ACCABB 填空题1 ?在带表头结点的单链表中,当删除某一指定结点时,必须找到该结点的 ____ 结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、填空题1、栈和队列的共同点是(只允许在端点处插入和删除元素)。
2、数据的逻辑结构有线性结构和(非线性结构) 两大类。
3、在最坏情况下,堆排序需要比较的次数为(O(nlog2n))4、一棵有n个结点的满二叉树有( 0 )个度为1的结点、有( (n-1)/2 )个分支(非终端)结点和((n+1)/2 )个叶子,该满二叉树的深度为(log2n +1)。
5、n (n﹥0) 个顶点的无向图最多有( n(n-1)/2)条边,最少有0条边。
6、判定一个栈ST(最多元素为m0)为栈满的条件是(top= =m0 )。
7、头结点是指:(指向链表中第一个结点(或为头结点或为首元结点) 的指针),称为头结点。
8.指出树和二叉树的三个主要差别①树的结点个数至少为1,而二叉树的结点个数可以为0;②树种结点的最大读书没有限制,而二叉树结点的最大度数不能超过2;③树的结点无左右之分,而二叉树的结点有左右之分。
9.从概念上讲,树与二叉树是两种不同的数据结构,将树转化为二叉树的基本目的是(树可采用二叉树的存储结构并利用二叉树的已有算法解决树的有关问题。
)10.若结点A有三个兄弟(包括A本身),并且B是A的双亲结点,B的度是( 4)11.若一棵具有n个结点的二叉树采用标准链接存储结构,那么该二叉树所有结点共有(n+1)个空指针域。
12.已知二叉树的前序序列为ABDEGCFHIJ,中序序列为DBGEAHFIJC,写出后序序列(DGEBHJIFCA)。
13.已知二叉树的后序序列为FGDBHECA,中序序列为BFDGAEHC ,并写出前序序列(ABDEGCEH)。
14.找出满足下列条件的二叉树答案1)先序和中序遍历,得到的结点访问顺序一样。
(无左子树)2)后序和中序遍历,得到的结点访问顺序一样。
(无右子树)3)先序和后序遍历,得到的结点访问顺序一样。
(仅一个结点的二叉树)15.一棵含有n个结点的k叉树,可能达到的最大深度和最小深度各是多少?最大n,最小┕log2n┙+116.一棵二叉树有67个结点,这些结点的度要么是0,要么是2。
这棵二叉树中度为2的结点有(22 )个。
17.含有100个结点的树有(99)条边。
18.一棵哈夫曼树有19个结点,则其叶子结点的个数是(10)。
19.设一棵二叉树结点的先根序列为ABDECFGH,中根序列为DEBAFCHG,则二叉树中叶子结点是(E F H)。
20.己知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[0][0]的地址是(LOC(A[0][0])+(n*i+j)*k)。
21.二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是(332)。
22.有一个10阶对称矩阵A,采用压缩存储方式(以行序为主,且A[0][0]=1),则A[8][5]的地址是(42)。
23.设n行n列的下三角矩阵A已压缩到一维数组S[1..n*(n+1)/2]中,若按行序为主存储,则A[i][j]对应的S中的存储位置是(i*(i+1)/2+j+1)。
24.若A是按列序为主序进行存储的4×6的二维数组,其每个元素占用3个存储单元,并且A[0][0]的存储地址为1000,元素A[1][3]的存储地址为(1030),该数组共占用(72)个存储单元。
25、算法的五个重要特性是(有穷性),(确定性),(可行性),输入,输出。
26、ADT(Abstract Data Type),即称为(抽象数据类型),是指一个数学模型及定义在该模型上的一组操作(运算);ADT只考虑数据的(一组逻辑特性)。
27、在树形结构中,每一个结点可以有多个(后件)结点,它们都称为该结点的(子结点)。
没有(后件)的结点称为(叶子结点)。
二、判断题1、线性表的逻辑顺序与存储顺序总是一致的。
×2、拓扑排序是一种内部排序的算法。
×3、在AOE网中,一定有不止一条关键路径。
×4、二维数组是其数据元素为线性表的线性表。
√5、一个栈的输入序列是12345,则输出序列43512是可能的。
×6、栈和队列是一种非线性数据结构。
(×)7、数据元素是数据的最小单位。
(×)8、顺序存储方式只能用于存储线性结构(×)。
9、二叉树中每个结点的两棵子树是有序的。
(√)10、快速排序是排序算法中平均性能最好的一种排序。
(√)11.二叉树中任何一个结点的度都是2。
(×)12.由二叉树结点的先根序列和后根序列可以唯一地确定一棵二叉树。
(√)13.一棵哈夫曼树中不存在度为1的结点。
(√)14.平衡二叉排序树上任何一个结点的左、右子树的高度之差的绝对值不大于1(√)15、链表中的头结点仅起到标识的作用。
(×)16、满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
(√)17、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
(√)18、一个图按广度优先搜索法遍历的结果是惟一的。
(×)19、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
(√)三、单选题1、算法分析的两个主要方面是:AA)空间复杂性和时间复杂性 B)正确性和简明性C)可读性和文档性 D)数据复杂性和程序复杂性2、一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是 B A)110 B)108 C)100 D)1203、在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是:AA) 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)B) 在第i个结点后插入一个新结点(1≤i≤n)C) 删除第i个结点(1≤i≤n)D) 将n个结点从小到大排序4、已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( B )A)q->next=s->next;s->next=p;B)s->next=p;q->next=s->next;C)p->next=s->next;s->next=q; D)s->next=q;p->next=s->next;5、关键路径是事件结点网络中的(A)A) 从源点到汇点的最长路径 B) 从源点到汇点的最短路径C) 最长的回路 D) 最短的回路6、表达式a*(b+c)-d的后缀表达式是(B)A) abcd*+- B) abc+*d- C) abc*+d- D) -+*abcd7假设以数组A[m]存放循环队列的元素。
已知队列的长度为length,指针rear指向队尾元素的下一个存储位置,则队头元素所在的存储位置为( A )A)(rear-length+m+1)%m B)(rear-length+m)%mC)(rear-length+m-1)%m D)(rear-length)%m8、对于长度为9的有序顺序表,若采用折半搜索,在等概率情况下搜索成功的平均搜索长度为(C)。
A) 20/9 B) 18/9 C) 25/9 D) 22/99、在一棵具有n个结点的二叉树中,所有结点的空子树个数等于( C )A)n B)n-1 C)n+1 D)2*n10、在计算机内实现递归算法时所需的辅助数据结构是( A )A)栈 B)队列 C)树 D)图11、线性表采用链式存储结构时,其地址:( D )。
A) 必须是连续的 B) 部分地址必须是连续的 C) 一定是不连续的 D) 连续与否均可以12、向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动(B)个元素.A) 8 B) 63.5 C) 63 D) 713、在计算机中,算法是指( B )A)加工方法 B)解题方案的准确而完整的描述 C)排序方法 D)查询方法14、数据结构的三要素是指( B )。
A)数据元素、顺序存储、存储结构 B)数据元素、逻辑结构、存储结构C)顺序存储、链式存储、存储结构 D)数据元素、逻辑结构、链式存储15、判定一个队列QU(最多元素为m)为满队列的条件是: (A )A)QU->rear - QU->front = = m B)QU->rear - QU->front -1= = mC)QU->front = = QU->rear D)QU->front = = QU->rear+116.二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法(A)(A)正确(B)错误17.由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法B(A)正确(B)错误18、设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为(B)。
(A)2h (B)2h-1(C)2h+1(D)h+119.已知某二叉树的后序遍历序列是dabec。
中序遍历序列是debac,它的前序遍历序列是(D)。
(A)acbed (B)decab(C)deabc (D)cedba20.如果T2是由有序树T转换而来的二叉树,那么T中结点的前序就是T2中结点的(B)(A)前序(B)中序(C)后序D.层次序21.某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是dgbaechf,则其后序遍历的结点访问顺序是(D)。
(A)bdgcefha (B)gdbecfha (C)bdgaechf (D)gdbehfca22.二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。
这种说法(B)(A)正确(B)错误23.按照二叉树的定义,具有3个结点的二叉树有( C )种。
(A)3(B)4(C)5(D)624.在一非空二叉树的中序遍历序列中,根结点的右边(A)(A)只有右子树上的所有结点(B)只有右子树上的部分结点(C)只有左子树上的部分结点(D)只有左子树上的所有结点25.树最适合用来表示( C )。
(A)有序数据元素(B)无序数据元素(C)元素之间具有分支层次关系的数据(D)元素之间无联系的数据26.任何一棵二叉树的叶结点在先序、中序和后序遍历序列中的相对次序(A)(A)不发生改变(B)发生改变(C)不能确定D.以上都不对27.实现任意二叉树的后序遍历的非递归算法而不使用栈结构,最佳方案是二叉树采用(A )存储结构。
(A)二叉链表(B)广义表存储结构(C)三叉链表(D)顺序存储结构28.对一个满二叉树,m个树叶,n个结点,深度为h,则(D)(A)n=h+m (B)h+m=2n(C)m=h-1(D)n=2h-129.如果某二叉树的前序为stuwv,中序为uwtvs,那么该二叉树的后序为(C)(A)uwvts (B)vwuts(C)wuvts (D)wutsv30.具有五层结点的二叉平衡树至少有(B)个结点。