祝您考试顺利通过,更多考试资料可以访问计算机等级考试网 http://www.kao8.cc/ncre/
第一章 数据结构与算法
算法 是一组严谨地定义运算顺序的规则
算法的基本要素 一是对数据对象的运算和操作,二是算法的控制结构
算法设计基本方法 列举法、归纳法、递推、递归、减半递推
算法的复杂度 包括时间复杂度和空间复杂度
时间复杂度 执行算法所需的计算工作量
空间复杂度 执行算法所需的内存空间
数据结构 相互有关联的数据元素的集合。如春、夏、秋、冬; 18 、11 、35 、23 、16 。。。;父亲、儿子、
女儿等都是数据元素。
前件 数据元素之间的关系,如父亲是儿子和女儿的前件
后件 如儿子是父亲的后件
结构 指数据元素之间的前后件关系
数据的逻辑结构 — 是指反映数据元素之间逻辑关系,而与它们在计算机中的存储位置无关
数据的存储结构(物理结构) 数据的逻辑结构在计算机存储空间中的存放形式,数据元素在计算机存储
空间的位置关系可能与逻辑关系不同。
根据数据结构中各数据元素之间前后件关系的复杂程度,可将数据结构分两类 线性结构与非线性结构
线性结构(线性表) 满足下列两个条件( 1 )有且只有一个根结点( 2 )每一个结点最多有一个前件和后
件。则称该数据结构为线性结构,否则为非线性结构。
线性表是最简单、最常用的一种数据结构,其数据元素之间的相对位置是线性的,其存储方式为顺序存储
的,如数组
栈 是限定在一端进行插入与删除的线性表,一端封闭,另一端开口,其操作原则是 “先进后出 ”,栈的运
算有入栈、退栈、读栈顶元素
队列 是指在一端进行插入(称为队尾)而在另一端进行删除(称为队头)的线性表,其操作规则是 “先进
先出 ”,其运算有入队和退队。
树 是一种简单的非线性结构,而且是层次结构,是倒立的大树,有根结点、父结点、子结点、叶子结点。
根结点在第一层,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为 树的度,树的
最大层次称为树的深度。
二叉树 (1 )非空二叉树只有一个根结点( 2 )每一个结点最多有两棵子树(左子树和右子树) ,其存储结
构为链式。
二叉树性质 (1 )K 层上最多有 2 (K-1 )个结点( 2 )深度为 m 的二叉树最多有 2m-1 个结点
(3 )度为 0 的结点 (叶子结点)比度为2 的结点多一个 (4 )具有 n 个结点的二叉树, 其深度至少为 [Log2n]+1 ,
其中 [Log2n] 表示对 Log2n 取整
满二叉树 除最后一层外,其余层的结点都有两个子结点
完全二叉树 除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点,叶
子结点只可能在层次最大的两层上出现。满二叉树是完全二叉树,而完全二叉树不是满二叉树。完全二叉
树有两个性质: (1 )具有 n 个结点的完全二叉树的深度为 [Log2n]+1 (2 )
二叉树遍历 不重复地访问各个结点。分为前序遍历 (DLR- 根左右 ) 、中序遍历 (LDR- 左根右 ) 和后序遍历
(LRD- 左右根)
查找技术 顺序查找 —— 对于长度为 n 的有序线性表,查找时需要比较 n 次
二分法查找 —— 对于长度为 n 的有序线性表,查找时需要比较 log2n 次
排序技术 假设线性表的长度为 n,则冒泡排序和简单插入排序的比较次数(时间复杂度)为 n(n-1)/2; 希
尔排序的比较次数为 O(n1.5); 简单选择排序的比较次数为 n(n-1)/2; 堆排序的比较次数为 O(nlog2n).
习题 1
算法的时间复杂度是指( ),算法的空间复杂度是指( );
考试吧: www.kao8.cc 一个神奇的考试网站。