- 1
- 0
- 约9.64千字
- 约 19页
- 2017-09-20 发布于江苏
- 举报
目录
全国计算机等级考试——二级公共基础知识辅导讲义 0
第一章 数据结构与算法 0
第二章 程序设计基础 5
第三章 软件工程基础 7
第四章 数据库设计基础 13
全国计算机等级考试——二级公共基础知识辅导讲义
第一章 数据结构与算法
1.1 算法算法是指解题方案的准确而完整的描述。算法不等于程序,也不等计算方法程序的编制不可能优于算法的设计。算法的基本特征(1)可行性(2)确定性(3)有穷性算法必须在有限的时间内3、算法复杂度时间复杂度和空间复杂度。算法时间复杂度是指执行算法所需要的计算工作量(2)算法空间复杂度是指执行这个算法所需要的内存空间。1.2 数据结构的基本概念数据结构是指相互有关联的数据元素的集合。数据结构研究三个方面1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构数据的逻辑结构包含:1)表示数据元素的信息;2)表示各数据元素之间的前后件关系。2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构数据的存储结构有顺序、链接、索引等数据的逻辑结构3)对各种数据结构进行的运算。线性结构条件:1)有且只有一个根结点;2)每一个结点最多有一个前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。1.3 线性表及其顺序存储结构线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。
*:线性表是一种存储结构,它的存储方式:顺序和链式。
2、线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。3、顺序表的插入、删除运算(1)1.4 栈和队列栈是限定在一端进行插入与删除的线性表允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”或“后进先出”组织数据。栈的基本运算:1)插入元素称为入栈运算;2)删除元素称为退栈运算;3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。指针Rear)指向队尾,指针front)指向。队列是“先进出”或“后进后出”的线性表。队列运算包括1)入队运算:从队尾插入一个元素2)退队运算:从队头删除一个元素。循环队列:1.5 线性链表
循环链表的优点主要体现在两个方面:一是在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点;二是由于在循环链表中设置了一个表头结点,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。
*:循环链表是在单链表的基础上增加了一个表头结点,其插入和删除运算与单链表相同。但它可以从任一结点出发来访问表中其他所有结点,并实现空表与非空表的运算的统一。
1.6 树与二叉树1、树的基本概念
树是一种简单的非线性结构所有元素之间具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父结点没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点没有后件的结点称为叶子结点。在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。二叉树的特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。*:根据二叉树的概念可知,二叉树的度可以为0(叶结点)、1(只有一棵子树)或2(有2棵子树)。(2)二叉树的基本性质性质1 在二叉树的第k层上,最多有 个结点。
性质2 深度为m的二叉树最多有个 个结点。
性质3 在任意一棵二叉树中,度数为0的结点(即叶子结点)总比度为2的结点多一个。
性质4 具有n个结点的二叉树,其深度至少为 ,其中 表示取 的整数部分。
3、满二叉树与完全二叉树
满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。
完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。
*:根据完全二叉树的定义可得出:度为1的结点的个数为0或1。
下图a表示的是满二叉树,下图b表示的是完全二叉树:
完全二叉树还具有如下两个特性:
性质5 具有n个结点的完全二叉树深度为 。
性质6 设完全二叉树共有n个结点,如果从根结点开始,按层序(每一层从左到右)用自然数1,2,…,n给结点进行编号,则对于编号为k(k=1,2,…,n)的结点有以下结论:
①若k=1,则该结点为根结点,它没有父结点;若
原创力文档

文档评论(0)