全国计算机等级考试辅导讲义 - 二级公共基础知识(2)

2019-04-16 22:47

队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。尾指针(Rear)指向队尾元素,头指针(front)指向排头元素的前一个位置(队头)。 队列是“先进先出”或“后进后出”的线性表。

队列运算包括:(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。

循环队列:s=0表示队列空,s=1且front=rear表示队列满。 1.5 线性链表

1、线性表顺序存储的缺点:(1)插入或删除的运算效率很低。在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素;(2)线性表的顺序存储结构下,线性表的存储空间不便于扩充;(3)线性表的顺序存储结构不便于对存储空间的动态分配。

2、线性链表:线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。因此,在链式存储方式中,每个结点由两部分组成:一部分用于存放数据元素的值,称为数据域;另一部分用于存放指针,称为指针域,用于指向该结点的前一个或后一个结点(即前件或后件),如下图所示:

数据域data

指针域nextHEADa1a2?an-1an^(a)结点结构(b)一个非空的线性链表示意图6

*:数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。

线性链表分为单链表、双向链表和循环链表三种类型。 在单链表中,每一个结点只有一个指针域,由这个指针只能找到其后件结点,而不能找到其前件结点。因此,在某些应用中,对于线性链表中的每个结点设置两个指针,一个称为左指针,指向其前件结点;另一个称为右指针,指向其后件结点,这种链表称为双向链表,如下图所示:

左指针

数据域右指针HEAD^a1a2?an^(a)结点结构(b)一个非空的双向链表示意图3、线性链表的基本运算

(1)在线性链表中包含指定元素的结点之前插入一个新元素。

*:在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象。 (2)在线性链表中删除包含指定元素的结点。

*:在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。

(3)将两个线性链表按要求合并成一个线性链表。 (4)将一个线性链表按要求进行分解。

7

(5)逆转线性链表。 (6)复制线性链表。 (7)线性链表的排序。 (8)线性链表的查找。 *:线性链表不能随机存取。 4、循环链表及其基本运算

在线性链表中,其插入与删除的运算虽然比较方便,但还存在一个问题,在运算过程中对于空表和对第一个结点的处理必须单独考虑,使空表与非空表的运算不统一。为了克服线性链表的这个缺点,可以采用另一种链接方式,即循环链表。 与前面所讨论的线性链表相比,循环链表具有以下两个特点:

(1)在链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点,而循环链表的头指针指向表头结点。

(2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。即在循环链表中,所有结点的指针构成了一个环状链。

下图a是一个非空的循环链表,图b是一个空的循环链表:

8

循环链表的优点主要体现在两个方面:一是在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点;二是由于在循环链表中设置了一个表头结点,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。

*:循环链表是在单链表的基础上增加了一个表头结点,其插入和删除运算与单链表相同,可以从任一结点出发来访问表中其他所有结点,并实现空表与非空表的运算的统一。 真题讲解:2005年4月选择题第5题。 1.6 树与二叉树 1、树的基本概念

树是一种简单的非线性结构。在树这种数据结构中,所有数据元素之间的关系具有明显的层次特性。

在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。

在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。

2、二叉树及其基本性质

9

(1)什么是二叉树

二叉树是一种很有用的非线性结构,它具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵2(k?1)k?1子树,且分别称为该结点的左子树与右子树。 (2)二叉树的基本性质

性质1 在二叉树的第k层上,最多有 个结点。 性质2 深度为m的二叉树最多有个 个结点。 性质3 在任意一棵二叉树中,度数为0的结点(即叶子结[logn]?1[logn]logn2222?1m点)总比度为2的结点多一个。性质4 具有n个结点的二叉树,其深度至少为 ,其中 表示取 的整数部分。

3、满二叉树与完全二叉树

满二叉树:除最后一层外,每一层上的所有结点都有两个子结点。

完全二叉树:除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。

下图a表示的是满二叉树,下图b表示的是完全二叉树: 00

7312124563456891011121314789(b)完全二叉树(a)满二叉树完全二叉树还具有如下两个特性:

性质5 具有n个结点的完全二叉树深度为 。

2[logn]?1 10


全国计算机等级考试辅导讲义 - 二级公共基础知识(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司理财Submission to ch16-17

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: