数据结构与算法知识点考点总结版全套

上传人:赵**** 文档编号:370181805 上传时间:2023-11-29 格式:DOCX 页数:16 大小:21.42KB
返回 下载 相关 举报
数据结构与算法知识点考点总结版全套_第1页
第1页 / 共16页
数据结构与算法知识点考点总结版全套_第2页
第2页 / 共16页
数据结构与算法知识点考点总结版全套_第3页
第3页 / 共16页
数据结构与算法知识点考点总结版全套_第4页
第4页 / 共16页
数据结构与算法知识点考点总结版全套_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《数据结构与算法知识点考点总结版全套》由会员分享,可在线阅读,更多相关《数据结构与算法知识点考点总结版全套(16页珍藏版)》请在金锄头文库上搜索。

1、数据结构与算法知识点考点总结版全套1算法算法:是指解题方案的准确而完整的描述。算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性;(2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性;(3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。

2、基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。2数据结构的基本基本概念数据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构

3、包含: (1)表示数据元素的信息;(2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。3线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。非空线性表的结构特征:(1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件;(3)除根结点与终端结点外,其他所有结点有且只

4、有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。ai的存储地址为:adr(ai)=adr(a1)+(i-1)k,,adr(a1)为第一个元素的地址,k代表每个元素占的字节数。顺序表的运算:插入、删除。 (详见14-16页)4栈和队列栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”(filo)或“后进先出”(lifo)组织数据,栈具有记忆作

5、用。用top表示栈顶位置,用bottom表示栈底。栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。rear指针指向队尾,front指针指向队头。队列是“先进行出”(fifo)或“后进后出”(lilo)的线性表。队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。 循环队列:s=0表示队列空,s=1且front=rear表示队列满5线性链表数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简

6、称结点。 结点由两部分组成:(1)用于存储数据元素值,称为数据域;(2)用于存放指针,称为指针域,用于指向前一个或后一个结点。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 链式存储方式即可用于表示线性结构,也可用于表示非线性结构。线性链表,head称为头指针,head=null(或0)称为空表,如果是两指针:左指针(llink)指向前件结点,右指针(rlink)指向后件结点。 线性链表的基本运算:查找、插入、删除。6树与二叉树树是一种简单的非线性结构,所有元素之间具有明显的层次特性。在树

7、结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。二叉树的特点:(1)非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 二叉树的基本性质:(1)在二叉树的第k层上,最多有2k-1(k1)个结点; (2)深度为m的二叉树最多有2m-1个结点;(3)度为0的结点(即叶子结点)总是比度为2的结点多一个;(4)具有n个结点的二叉树,

8、其深度至少为log2n+1,其中log2n表示取log2n的整数部分; (5)具有n个结点的完全二叉树的深度为log2n+1;(6)设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,.n给结点进行编号(k=1,2.n),有以下结论:若k=1,则该结点为根结点,它没有父结点;若k1,则该结点的父结点编号为int(k/2); 若2kn,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);若2k+1n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。 满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1

9、个结点深度为m的满二叉树有2m-1个结点。点击文本外关闭弹框数据结构与算法(一)(总分:78.00,做题时间:90分钟)一、B选择题/B(总题数:28,分数:56.00)1.计算机算法指的是 _,它必须具备输入、输出,可执行性、确定性和有穷性。(分数:2.00)A.计算方法B.排序方法C.解决问题的有限运算序列D.调度方法解析:2.设计一个“判别在表达式中左、右括号是否配对出现”的算法,采用 _ 数据结构最佳。(分数:2.00)A.线性表的顺序存储结构B.栈C.队列D.线性表的链式存储结构解析:3.若对一棵二叉树进行中序遍历得到的结果是(B,D,A,G,H,E,C,F),进行后序遍历的结果是D

10、BHGEFCA,那么这棵二叉树进行前序遍历得到的结果是 _。(分数:2.00)A.(A, B, D, C, E, G, H,B.(A, B, D, C, E, H, G,C.(D,B,A,C,E,G,H,D.无法确定解析:4.一个队列的入列序号是1,2,3,4,则队列的输出系列是 _。(分数:2.00)A.4,3,2,1 B.1,2,3,4 C.1,4,3,2 D.3,2,4,1 解析:5.对关键字序列(11,12,13,14,15)采用对半查找算法查找关键字11,则关键字之间比较次数为_。(分数:2.00)A.1 B.2 C.3 D.4 解析:6.如果以链表为栈的存储结构,则出栈操作是 _。

11、(分数:2.00)A.必须判别栈是否为满B.必须判别栈是否为空C.判别栈元素的类型D.对栈不作任何判别解析:7.在算法设计基本方法中, _ 是从初始条件出发,逐次推出所需求的结果。(分数:2.00) A.递推 B.递归 C.列举法 D.归纳法 解析:8.分析算法的目的是 _。(分数:2.00)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档 解析:9.若完全二叉树共有n个结点,且从根结点开始,按层序(每层从左到右)用正整数 0,1,2,n-1,从小到大对结点编号,则对于编号为k的结点,错误的是 _。(分数:2.00)A.若k0,

12、则该结点的父结点编号为k/2(表示取整) B.若2kn-1,则编号为k的结点无右子树,但可能有左子树 C.若2k+1=n-1,则编号为k的结点的右子结点编号为2k+1 D.若k=0,则该结点肯定没有父结点 解析:10.用数组A0m-1存放循环队列的元素值,若其头尾指针分别为front和rear,则循环队列中当前元素的个数为 _。(分数:2.00)A.(rear-front+rmod m B.(rear-front+m+1)mod m C.(rear-front+m-1)mod m D.(rear-front-m-1)mod m 解析:11.采用顺序查找方法查找长度为n的线性表时,每个元素的平均

13、查找长度为 _。(分数:2.00) A.n B.n/2 C.(n+1)/2 D.(n-1)/2 解析:12.设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好选用 _ 排序法。(分数:2.00) A.希尔排序 B.冒泡排序 C.堆排序 D.快速排序 解析:13.链栈与顺序栈相比,有一个比较明显的优点是 _。(分数:2.00) A.插入操作更加方便B.通常不会出现栈满情况 C.不会出现栈空的情况D.删除操作更加方便 解析:14.对线性表进行二分法检索。其前提条件是 _ 。(分数:2.00)A.线性表以顺序方式存储,并且按关键码值排好序 B.线性表以顺序方式存储,并且按关

14、键码的检索频率排好序 C.线性表以链接方式存储,并且按关键码值排好序D.线性表以链接方式存储,并且按关键码的检索频率排好序 解析:15.下列关于数据结构的叙述中,正确的是 _。(分数:2.00)A.实际应用中,队列的顺序存储结构一般采用循环队列的形式 B.递推算法结构程序一般比递归算法结构程序更精练 C.树是一种线性结构D.用一维数组存储二叉树,总是以先序遍历的顺序存储各结点 解析:16.完全二叉树中,若一个结点是叶结点,则它没有 _。(分数:2.00) A.左子结点 B.右子结点C.左子结点和左子结点 D.左子结点、右子结点和兄弟结点 解析:17.下面关于数据结构的叙述中,正确的是 _。(分

15、数:2.00)A.顺序存储方式的优点是存储密度大,且插入、删除运算效率高 B.链表中的每一个结点都包含恰好一个指针C.包含n个结点的二叉排序树的最大检索长度为log2n D.将一棵树转换为二叉树后,根结点没有右子树 解析:18.一组记录的排序码为(46,79,56,38,40,84),则利用堆排序的方法建立的初始堆为 _。(分数:2.00)A.79,46,56,38,40,84 B.84,79,56,38,40,46 C.84,79,56,46,40,38 D.84,56,79,40,46,38 解析:19.下述几种排序方法中, _ 是最简单的交换类排序方法。(分数:2.00) A.冒泡排序 B.插入排序 C.快速排序 D.选择排序 解析:20.在所有排序方法中,关键字比较的次数与记录的初始排列次序无关的是 _。(分数:2.00) A.希尔排序 B.冒泡排序 C.插入排序D.选择排序 解析:21.二分法查找 _ 存储结构。(分数:2.00) A.只适合于

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号