010二级公共基础知识复习纲要
第 1 章 数据结构与算法
考点1:算法具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。
确定性:是指算法中每一个步骤都必须是有明确定义的,不允许模棱两可的定义
有穷性:是指算法必须能在有限的时间内做完
一个算法由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构 考点2:算法复杂度包括时间复杂度和空间复杂度
时间复杂度 执行算法所需要的计算工作量
空间复杂度 执行这个算法所需要的内存空间
考点3:数据结构
一:讨论的问题:1.数据元素之间的逻辑关系,即数据的逻辑结构
2.数据元素在计算机中的存储关系,即数据的存储结构
3.对各种数据结构进行的运算
考点4:数据结构分为两大类型:线性结构与非线性结构。
(1)如果一个非空的数据结构满足下列两个条件:
① 有且只有一个根结点;
② 每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。
考点5:线性表
特点: (1) 线性表中所有元素所占的存储空间是连续的
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的
考点5: 栈的基本概念
栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。
栈是按照“先进后出”或“后进先出”的原则组织数据的。
考点6:队列的基本概念
队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。即先进先出表。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用
考点7: 链表
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。
考点8:二叉树性质
(1) 在树结构中,每一个结点只有一个前件,称为父结点,没有父结点的只有一个,成为根结点
(2) 没有后件的结点成为叶子结点
(3) 一个结点所拥有的后件个数称为该结点的度,在树中,所有结点中最大的度称为树的度
(4) 树的最大层次称为树的深度
(5) 在二叉树的第k层上,最多有2^(k-1)个结点
(6) 深度为m的二叉树最多有2^m-1个结点