数据结构提纲及答案
复习提纲:算法与数据结构

1、算法的概念是为了解决某类问题而规定的一个有限长的操作序列。
特性:①有穷性②确定性③可行性④输入⑤输出评价标准:①正确性②可读性③健壮性④高效性2、算法的复杂度: 算法计算量所需资源的大小时间复杂度:T(n)=O(f(n)),他表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的时间复杂度空间复杂度:S(n)=O(f(n)),算法所需空间的度量。
3、数据结构中的逻辑结构分为:线性和非线性结构4、线性表的两种存储方式:顺序存储和链式存储的特点及比较。
顺序存储:指用一组地址连续的存储单元依次存储线性表的数据元素链式存储:用一组任意的存储单元存储线性表的数据元素。
5、线性表的特点①存在唯一的一个被称作“第一个”的数据元素②存在唯一的一个被称作“最后一个”的数据元素③除第一个之外,结构中的每一个数据元素均只有一个前驱④除最后一个之外,结构中的每一个数据元素均只有一个后继6、在长度为n的顺序表中的第i个位置处插入一个元素,需要移动多少个元素?n-i+17、理解算法:线性表La和Lb,将两个表合并成一个新的线性表并存于La中。
8、带头结点的单链表和不带头结点的单链表为空的条件分别是?带头结点的循环单链表为空的条件是?带头结点的单链表为空的条件:没有下一个节点L->next=NULL不带头结点的单链表为空的条件:L=NULL循环单链表为空的条件:head->next=head带头结点的循环单链表为空的条件是9、在单链表中插入结点的算法中,指针如何修改。
P3410、理解单链表中插入新结点的算法p3411、理解双向链表中插入新结点的算法p4012、理解栈和队列的操作特点:先进后出,先进先出。
已知进栈顺序,求可能的出栈顺序。
链栈相对于顺序栈的优点是什么?链栈在入栈前不需要判断栈是否为满,只需要为入栈元素动态分配一个节点空间13、理解算法:执行进栈操作,则先要判断栈S是否为满,若不满再将记录栈顶的下标变量top加1,再将进栈元素放进栈顶位置上。
数据结构复习资料复习提纲知识要点归纳

数据结构复习资料复习提纲知识要点归纳数据结构复习资料:复习提纲知识要点归纳一、数据结构概述1. 数据结构的定义和作用2. 常见的数据结构类型3. 数据结构与算法的关系二、线性结构1. 数组的概念及其特点2. 链表的概念及其分类3. 栈的定义和基本操作4. 队列的定义和基本操作三、树结构1. 树的基本概念及定义2. 二叉树的性质和遍历方式3. 平衡二叉树的概念及应用4. 堆的定义和基本操作四、图结构1. 图的基本概念及表示方法2. 图的遍历算法:深度优先搜索和广度优先搜索3. 最短路径算法及其应用4. 最小生成树算法及其应用五、查找与排序1. 查找算法的分类及其特点2. 顺序查找和二分查找算法3. 哈希查找算法及其应用4. 常见的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序六、高级数据结构1. 图的高级算法:拓扑排序和关键路径2. 并查集的定义和操作3. 线段树的概念及其应用4. Trie树的概念及其应用七、应用案例1. 使用数据结构解决实际问题的案例介绍2. 如何选择适合的数据结构和算法八、复杂度分析1. 时间复杂度和空间复杂度的定义2. 如何进行复杂度分析3. 常见算法的复杂度比较九、常见问题及解决方法1. 数据结构相关的常见问题解答2. 如何优化算法的性能十、总结与展望1. 数据结构学习的重要性和难点2. 对未来数据结构的发展趋势的展望以上是数据结构复习资料的复习提纲知识要点归纳。
希望能够帮助你进行复习和回顾,加深对数据结构的理解和掌握。
在学习过程中,要注重理论与实践相结合,多进行编程练习和实际应用,提高数据结构的实际运用能力。
祝你复习顺利,取得好成绩!。
数据结构(含答案)

数据结构(含答案)数据结构数据结构是计算机科学的基础知识之一,它在计算机领域中有着重要的地位。
本文将介绍数据结构的概念、常见的数据结构类型以及其应用。
同时,还会对一些常见的数据结构问题进行解答。
一、概念简介在计算机科学中,数据结构是指存储和组织数据的方式。
它关注数据元素之间的关系,以及如何对数据进行插入、删除和查询等操作。
数据结构可以分为线性结构和非线性结构两大类。
1.1 线性结构线性结构是最简单的一种数据结构,它的特点是数据元素之间存在一对一的关系。
常见的线性结构包括数组、链表、栈和队列。
- 数组是一种连续存储数据元素的结构,可以通过下标快速访问元素。
但是数组的大小固定,插入和删除操作比较耗时。
- 链表是一种通过指针连接数据元素的结构,可以动态地进行插入和删除操作。
但是链表的随机访问效率较低。
- 栈是一种先进后出(LIFO)的数据结构,只能在栈顶进行插入和删除操作。
常见的应用场景包括函数调用、表达式求值等。
- 队列是一种先进先出(FIFO)的数据结构,插入操作在队尾进行,删除操作在队头进行。
常见的应用场景包括任务调度、消息传递等。
1.2 非线性结构非线性结构中,数据元素之间的关系不是一对一的,包括树和图等结构。
- 树是一种层次结构,由节点和边组成。
树的常见应用包括文件系统、数据库索引等。
- 图是由节点和边组成的网络结构,节点之间的关系可以是任意的。
图的应用非常广泛,包括社交网络、路由算法等。
二、数据结构问题解答2.1 如何判断一个链表中是否存在环?使用快慢指针可以判断一个链表中是否存在环。
假设有两个指针,一个每次移动一步,另一个每次移动两步。
如果链表中存在环,那么快指针迟早会追上慢指针。
如果快指针到达链表尾部时都没有追上慢指针,那么链表中不存在环。
2.2 如何判断一个二叉树是否是平衡二叉树?平衡二叉树是一种左子树和右子树高度差不超过1的二叉树。
判断一个二叉树是否是平衡二叉树可以使用递归的方法。
数据结构 (严蔚敏C语言版) 学习、复习提纲

期末复习 第一章 绪论 复习1、计算机算法必须具备输入、输出、可行性、确定性、有穷性5个特性。
2、算法分析的两个主要方面是空间复杂度和时间复杂度。
3、数据元素是数据的基本单位。
4、数据项是数据的最小单位。
5、数据结构是带结构的数据元素的集合。
6、数据的存储结构包括顺序、链接、散列和索引四种基本类型。
数据结构算 法数据:计算机处理的信息总称数据项:最小单位 数据元素:最基本单位数据对象:元素集合数据结构:相互之间存在一种或多种特定关系的数据元素集合。
概念:数据元素之间的关系 线性结构:一对一非线性结构 树:一对多 图:多对多顺序存储结构 链表存储结构 索引。
散列。
算法描述:指令的有限有序序列有穷性 确定性 可行性 输入 输出 时间复杂度 空间复杂度第二章 线性表 复习1、在双链表中,每个结点有两个指针域,包括一个指向前驱结点的指针 、一个指向后继结点的指针2、线性表采用顺序存储,必须占用一片连续的存储单元3、线性表采用链式存储,便于进行插入和删除操作4、线性表采用顺序存储和链式存储优缺点比较。
5、简单算法第三章 栈和队列 复习定义逻辑关系:前趋 后继节省空间 随机存取 插、删效率低 插入 删除1、 栈和队列的异同点。
2、 栈和队列的基本运算3、 出栈和出队4、 基本运算第四章 串 复习存储结构栈的概念:在一端操作的线性表 运算算法栈的特点:先进后出 LIFO初始化 进栈push 出栈pop顺序队列 循环队列队列概念:在两端操作的线性表 假溢出链队列队列特点:先进先出 FIFO基本运算顺序:链队:队空:front=rear队满:front=(rear+1)%MAXSIZE队空:rear 初始化 判空 进队 出队取队首元素第五章 数组和广义表 复习定义:由n(≥1)个字符组成的有限序列 S=”c 1c 2c 3 ……cn ”串长度、空白串、空串。
紧缩格式 非紧缩格式以字节为单位的存储格式 (C 语言用数组或指针表示) 基本运算strlen(s) 串长度 strcat(s1,s2) 联接 strcmp(s1,s2) 比较 strcpy(s1,s2) 复制 strstr(s1,s2) 子串查询模式匹配失败链接值匹配算法单字符链表串 多字符链表串串变量的存储映像:串名、串值对应关系表顺序存储方式压缩存储方式行优先顺序存放列优先顺序存放C语言数组:行优先下标从[0]开始,公式变化稀疏矩阵应用表达式程序调用广义表定义:n(≥0)个元素的有限序列表头:Head(A)= a1概念:长度、深度、原子、子表表尾:Tail(A)=(a2,a3,…,a n)表结点特殊矩阵对称矩阵三角矩阵对角矩阵三元组存储:三元组m n t链表存储:十字链表原子结点第六章 树 复习1、三个结点可以组成2种不同形态的树。
数据结构复习题

2017 ~2018学年度第2学期《数据结构》复习提纲1.在数据结构中,从逻辑上可以把数据结构分为_________两类。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.链表不具有的特点是_________。
A.可随机访问任一元素B.插入、删除不需要移动的元素C.不必事先估计存储空间D.所需空间与线性表长度成正比3.若线性表最常用的运算是存取第i个元素及其前驱元素,则采用_________存储方式节省时间。
A.单链表B.双链表C.循环单链表D.顺序表4.算法分析的目的是_________。
A.找出数据结构的合理性B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易读性和文档性5.若一个栈用数组data[1..n]存储,初始栈顶指针top为0,则以下元素x进栈的操作正确的是_________。
A.top++; data[top]=x;B.data[top]=x; top++;C.top--; data[top]=x;D.data[top]=x; top--;6.表达式a*(b+c)-d的后缀表达式是_________。
A.abcd*+-B.abc+*d-C.abc*+d-D.-+*abcd7.递归函数f(1)=1,f(n)=f(n-1)+n(n>1)的递归出口是_________。
A.f(1)=1B.f(1)=0C.f(0)=0D.f(n)=n8.将递归算法转换成对应的非递归算法时,通常需要使用_________保存中间结果。
A.队列B.栈C.链表D.树9.对稀疏矩阵采用压缩存储,其缺点之一是_________。
A.无法判断矩阵有多少行、多少列B.无法根据行、列号查找某个矩阵元素C.无法根据行、列号直接计算矩阵元素的存储地址D.使矩阵元素之间的逻辑关系更加复杂10.一个n阶上三角矩阵a按行优先顺序压缩存放在一维数组b中,则b中的元素个数是_________。
数据结构总复习+习题+解答

数据结构复习资料
数据结构总复习+习题解答
第一章 绪论
1.1 理解基本概念 1、数据是信息的载体,是描述客观事物的数、字符以及能输入到计算机中,被计算机识别 和处理的符号的集合。 2、数据元素是数据的基本单位,可由若干数据项组成。 3、数据对象是性质相同的数据元素的集合。 4、数据结构指某一数据元素集合中所有数据成员之间的关系,定义为: 数据结构={D,R} 5、数据结构三要素:逻辑结构,物理结构,作用于数据结构的运算。 6、逻辑结构:数据元素间的逻辑关系,分为线性结构和非线性结构(集合、树和图结构) 。 7、物理结构:数据元素及其关系在计算机上的映像,通常按顺序存储或链式存储。 8、抽象数据类型定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的 操作。特征:数据抽象和信息隐藏。 9、数据类型和数据结构的异同: 同:它们都具有抽象性,并不特指适用于何处,可根据问题需要用他们来表示数据元 素间的关系。 异:数据结构本身是一种数据的组织和使用形式,通过把数据定义成数据类型才能在 计算机上使用。 1.2 算法特性与性能分析 1、算法的定义:解决特定问题的一系列操作。 2、算法的 5 大特性(要素) :输入、输出、确定性、可行性和有限性。 3、算法时间复杂度分析:寻找关键操作(基本操作,通常为循环的最内层程序段) ,计算关 键操作的执行次数,一般结果为问题规模 n 的多项式。时间复杂度为该多项式的最高次幂。 T(n)=O(1)的含义:常量时间复杂度,表示算法执行时间与问题规模无关。 4、算法空间复杂度分析:算法执行时所需要的辅助空间。 S(n)=O(1)的含义: 常量空间复杂度,表示算法执行时需要的辅助空间与问题规模无关,也 称为算法原地工作。 题 1.1 如何理解抽象数据类型。 答:定义了一个数据对象,数据对象中各元素之间的关系以及一组处理数据的操作。 题 1.2 数据元素间的逻辑结构关系有哪些。 答:四种。分别是集合结构、线性结构、树状结构、图状结构。 题 1.3 通常从时间复杂度和空间复杂度来评价算法的优劣。 题 1.4 下面算法的时间复杂度为(C) int i,j; for(i=0;i<m;i++) for(j=0;j<n;j++) a[i][j]=i*j;
数据结构知识点与解答(已完结)

数据结构知识点与解答(已完结)数据结构知识点与解答数据结构是计算机科学中一个重要的概念,用于组织和存储数据,提供高效的数据操作和访问方式。
本文将介绍一些常见的数据结构知识点,并提供解答。
一、栈栈是一种遵循先进后出(LIFO)原则的数据结构。
它具有两个基本操作:入栈(push)和出栈(pop)。
栈可以用来解决括号匹配、逆序输出等问题。
1. 括号匹配问题括号匹配问题是一个经典的应用场景。
我们可以通过栈来判断一个表达式中的括号是否匹配。
遍历表达式,当遇到左括号时,将其入栈;当遇到右括号时,判断栈顶元素是否与之匹配。
2. 逆序输出问题栈还可以用于逆序输出一个序列。
我们可以将序列中的元素依次入栈,然后依次出栈打印即可。
二、队列队列是一种遵循先进先出(FIFO)原则的数据结构。
它具有两个基本操作:入队(enqueue)和出队(dequeue)。
队列常用于实现广度优先搜索(BFS)算法。
1. 广度优先搜索广度优先搜索是一种用于图的遍历算法。
它从起始顶点开始,逐层向外扩展,直到找到目标顶点或者遍历完所有顶点。
队列可以用于存储待遍历的顶点,保证按照层级顺序进行遍历。
三、链表链表是一种动态数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。
链表可以分为单向链表、双向链表和循环链表。
1. 单向链表单向链表的每个节点只包含一个指向下一个节点的指针。
要插入或删除一个节点,只需要修改指针指向即可,时间复杂度为O(1)。
但访问元素时需要遍历整个链表,时间复杂度为O(n)。
2. 双向链表双向链表的每个节点既包含一个指向下一个节点的指针,还包含一个指向上一个节点的指针。
这样可以在O(1)的时间复杂度内实现在任意位置插入和删除节点。
四、二叉树二叉树是一种每个节点最多有两个子节点的树形结构。
它具有左子树和右子树之分,适合用于搜索和排序操作。
1. 二叉搜索树二叉搜索树(BST)是一种具有有序性质的二叉树。
2014(下)数据结构复习

2014下《数据结构》复习提纲第1章绪论有关术语;算法、算法复杂度的分析和计算方法例题:1.下面算法的时间复杂度为O( n )。
int f( unsigned int n ){if ( n = = 0 || n = = 1 ) return 1;else returen n *f ( n – 1 ); }2.for(i=1,s=0;i<=n;i++){t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}时间复杂度为O(n2)第2-3章线性表,栈和队列线性表的概念、存储结构、插入与删除操作;栈和队列的概念,理解栈顶指针、队首、队尾指针的意义和作用,特别是循环队列的头、尾指针的设置。
为什么要这样设置。
它们基本操作的实现。
判空和判满?了解有关应用。
例题:1.在一个单链表中,若q所指结点是p所指结点的前驱结点,若在q与p 之间插入一个s所指的结点,则执行的语句?(答:q->next=s; s->next=p);注意在某个已知结点前插需要执行的语句?2.注意循环(链)队列的判空和判满的条件?(看书理解!)3.对于一个具有n个结点的单链表,在已知的结点p后插入一个新结点的时间复杂度为 O(1),在给定值为x的结点后插入一个新结点的时间复杂度为 O(n)。
4.在具有n个单元的顺序存储的循环队列中,假定front和rear分别为队头指针和队尾指针,则判断队满的条件为 (rear+l)%n= = front。
执行出队操作后其头指针front如何?5. 线性表采用链式存储时,结点的存储地址连续与否均可;6.链式栈删除栈顶元素的操作序列为top=top->next.7.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是p->next=p->next->next.8.判定“带头结点的链队列为空”的条件是Q.front==Q.rear.9. 假设以数组seqn[m]存放循环队列的元素,设变量rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构模拟试题一一、判断题(每小题1 分,共15分)1.计算机程序处理的对象可分为数据和非数据两大类。
2.全体自然数按大小关系排成的序列是一个线性表。
3.在描述单向链表的结点类型时,必须首先描述数值字段,然后再描述指针字段。
4.顺序栈是一种规定了存储方法的栈。
5.树形结构中的每个结点都有一个前驱。
6.在任何一棵完全二叉树中,最多只有一个度为1的分支结点。
7.若某顶点是有向图的根,则该顶点的入度一定是零。
8.如果某图的邻接矩阵有全零的行,没有全零的列,则该图一定是有向图。
9.用一维数组表示矩阵可以节省存储空间。
10.广义表的长度与广义表中含有多少个原子元素有关。
11.分块查找的效率与线性表被分成多少块有关。
12.散列表的负载因子等于存入散列表中的结点个数。
13.在起泡排序过程中,某些元素可能会向相反的方向移动。
14.按某种逻辑关系组织起来的记录的集合称为逻辑记录。
15.索引非顺序文件的特点是索引表中的索引项不一定按关键字大小有序排列。
二、填空题(每空1分,共15分)1.顺序表是一种_____________线性表。
2.若用Q[1]~Q[m]作为非循环顺序队列的存储空间,则对该队列最多只能执行___次插入操作。
3.栈和队列的区别在于________的不同。
4.在高度为h(h≥0)的二叉树中至少有___个结点,至多有___个结点。
5.若用二叉链表来存储具有m个叶子,n个分支结点的树,则二叉链表中有___个左指针域为空的结点,有___个右指针域为空的结点。
6.n个顶点的有根有向图中至少有___条边,至多有___条边。
7.10行20列矩阵若用行优先顺序表来表示,则矩阵中第8行第7列元素是顺序表中第___个元素。
8.在各元素查找概率相等的情况下,用顺序查找方法从含有12个元素的有序表中查找一个元素,元素间的平均比较次数是_____。
9.在归并两个长度为m的有序表时,排序码的比较次数至少是___次,至多是___次。
10.在高度为3的6阶B-树中,至少有___个关键字,至多有___个关键字。
三、选择题(每题2分,共30分)1.计算机所处理的数据一般具有某种内在联系性,这是指________。
A.元素和元素之间存在某种关系B.数据和数据之间存在某种关系C.元素内部具有某种结构D.数据项和数据项之间存在某种关系2. 假设顺序表目前有4个元素,第i个元素放在R[i]中,1≤i≤4 。
若把新插入元素存入R[6],则________。
A.会产生运行错误B.R[1]~R[6]不构成一个顺序表C.顺序表的长度大于顺序表元素个数,会降低存储空间利用率D.顺序表元素序号和数组元素下标不一致,会给使用带来麻烦3. 设H是不带表头结点循环单向链表的表头指针,P是和H同类型的变量。
当P指向链表最后一个结点时,_________。
A.P所指结点指针字段的值为空B.P的值与H的值相等C.P所指结点的地址与H的值相等D.P所指结点指针字段的值与H的值相等4. 栈的定义不涉及数据的__________。
A.逻辑结构B.存储结构C.运算D.逻辑结构和存储结构5. 设5个元素进栈的顺序是1,2,3,4,5,则出栈的顺序有可能是___________。
A.2,4,1,3,5 B.3,4,1,5,2 C.3,2,4,1,5 D.4,1,3,2,56. 若某棵二叉树结点的前序序列和中序序列相同,则该二叉树_________。
A.只有一个结点B.每个结点都没有左孩子C.每个结点都没有右孩子D.不存在7.对于一棵具有n个结点,度为3的树来说,____________。
A.树的高度至多是n-3 B.树的高度至多是n-2 C.树的最低高度是┏log3(n+1)┓D.至少在某一层上正好有3个结点8.n个顶点的有向图如果可以进行拓扑排序,则可以断定该有向图__________。
A.含n个强连通分量B.有唯一的入度为0的顶点C.有多个出度为0的顶点D.是一个有根有向图9. 特殊矩阵用行优先顺序表表示,_____________A.简化了矩阵元素之间的逻辑关系B.便于按行处理矩阵元素C.无法根据行列号计算矩阵元素的存储地址D.可以节省存储空间10. 对一个非空的广义表来说,______________。
A.可能不含任何原子元素B.至少含一个原子元素C.其长度不小于其中任何一个子表的长度D.至少含一个非空的子表元素11.在有序表(2,4,6,8,10,12,14,16,18,20)上用折半查找方法查找13,依次被比较的是___________。
A.10,16,12,14 B.10,16,12 C.12,16,14 D.10,16,12,1312.含14个结点的平衡二叉排序树,其最大深度是____。
A.4 B.5 C.6 D.713.如果元素R1和R2有相同的排序码,并且进行归并排序前,R1在R2的前面,则当排序结束后,___________。
A.R1有可能在R2的后面B.R1一定在R2的后面C.R1一定在R2的前面D.选择R1或R2中的一个留在线性表中14.下面4个序列中,只有___满足堆的定义。
A.13,27,49,76,76,38,85,97 B.76,38,27,49,76,85,13,97C.13,76,49,76,27,38,85,97 D.13,27,38,76,49,85,76,9715.下面4种排序方法中,属于不稳定的排序方法是_________排序和_________排序。
A.快速B.归并C.简单选择D.折半插入数据结构模拟试题二一.判断题(每小题1 分,共15分)1.构成数据的最小单位是数据项。
2.空线性表的一个特性是线性表中各结点尚未赋值。
3.非循环单向链表一定要有表头指针。
4.顺序栈的栈顶指针是一个指针类型的变量。
5.在表示树的双亲数组中,找结点的双亲要比找结点的孩子容易。
6.哈夫曼树中不存在度为1的结点。
7.在图中,与V i相邻的顶点其序号一定是i+1或i-1。
8.如果是不连通的无向图,则在相应的邻接表中一定有空链表。
9.矩阵的行数和列数可以不相等。
10.广义表的深度与广义表中含有多少个子表元素有关。
11.折半查找可以在有序的双向链表上进行。
12.散列查找过程中,关键字的比较次数和散列表中关键字的个数直接相关。
13.对n个元素执行简单选择排序,排序码的比较次数总是n(n-1)/2次。
14.物理记录的大小与逻辑记录的大小成正比。
15.对索引文件,索引表是建立在内存的,数据区是建立在外存的。
二.填空题(每空1分,共15分)1.在程序中,描述顺序表的存储空间一般用________变量。
2.若用Q[0]~Q[100]作为循环顺序队列的存储空间,用“队首指针f的值等于队尾指针r的值”作为队空的标志,则创建一个空队列所要执行的操作是___________。
3.栈和顺序栈的区别仅在于________。
4.n个结点的二叉树最大高度是___,最小高度是___。
5.树的存储方法主要有_____、_____和_____三种。
6.n个顶点的强连通图中至少有___条边。
7.10行20列矩阵若用列优先顺序表来表示,则矩阵中第7行第6列元素是顺序表中第___个元素。
8.在各元素查找概率相等的情况下,在含有14个元素的平衡二叉排序树上查找其中一个元素,元素间的平均比较次数至少是_____次,至多是______次。
9.对n个元素执行快速排序,在进行第一次分组时,元素的移动次数至多是____次,至少是___次。
10.在B-树中,若某结点有i个孩子,则该结点中一定有___个关键字。
三.选择题(每题2分,共30分)1.数据结构的研究内容不涉及________。
A.算法用什么语言来描述B.数据如何存储C.数据的运算如何实现D.数据如何组织2. 若H1是动态单向链表的表头指针,H2是动态双向链表的表头指针,则________。
A.H1和H2占用同样多的内存空间B.H1和H2是同类型的变量C.H2要比H1占用更多的内存空间D.双向链表要比单向链表占用更多的内存空间3. 对于K个带头结点的静态单向链表来说,若各结点类型相同,则K个链表一般可共用_________。
A.同一个数组B.某些数组元素C.同一个表头结点D同一个表头指针4.最不适合用作链接栈的链表是_____________。
A.只有表头指针没有表尾指针的循环双向链表B.只有表尾指针没有表头指针的循环双向链表C.只有表尾指针没有表头指针的循环单向链表D.只有表头指针没有表尾指针的循环单向链表5.栈和队列的共同点在于_____________。
A.都对存储方法作了限制B.都是只能进行插入、删除运算C.都对插入、删除的位置作了限制D.都对插入、删除两种操作的先后顺序作了限制6.如果5个元素的出栈的顺序是1,2,3,4,5,则进栈的顺序可能是_____________。
A.3,5,4,1,2 B.1,4,5,3,2 C.2,4,3,1,5 D.5,1,3,2,47.若某棵二叉树结点的后序序列和层次序列正好相反,则该二叉树_____________。
A.每个结点都没有右孩子B.不存在度为2的结点C.每个结点都没有左孩子D.不存在8.对于一棵具有n个结点,度为3的树来说,树的高度至少是____________。
A.┏log32n┓B.┏log3(3n-1)┓C.┏log3(3n+1)┓D.┏log3(2n+1)┓9.对n个顶点的带权连通图来说,它的最小生成树是指图中任意一个由n-1条__________。
A.权值最小的边构成的子图B.权值之和最小的边构成的子图C.权值之和最小的边构成的连通子图D.权值之和最小的边构成的无环子图10. 所谓特殊矩阵是指_____________比较特殊。
A.矩阵元素之间的关系B.矩阵的处理方法C.矩阵元素的取值D.矩阵的存储方法11.若长度为n且有n种不同原子的广义表用链接方法存储,则时间复杂度为O(n)的运算是___________。
A.复制一个广义表B.求广义表的长度C.查找某个子表D.查找某个原子12. 待查找元素关键字的值依次是47,且已存入变量k中,如果在查找过程中,和K进行比较的关键字值依次是47,32,46,25,47,则采用的查找方法____。
A.是一种错误的查找方法B.可能是分块查找C.可能是顺序查找D.可能是折半查找13.如果元素R1和R2有相同的排序码,并且进行堆排序前,R1在R2的前面,则当排序结束后,___________。
A.R1一定在R2的前面B.R1一定在R2的后面C.R1有可能在R2的后面D.选择R1或R2中的一个留在线性表中14.下面4种排序方法中,属于稳定的排序方法是_________排序和_________排序。