清华大学严蔚敏版数据结构考研要点(精华版)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1数据(Data ):是客观事物的符号表示。在计算机科学中指的是所有能输入到计算机中并 被计算机程序处理的符号的总称。
数据元素(Data Element ):是数据的基本单位,在程序中通常作为一个整体来进行考虑和 处理。
一个数据元素可由若干个 数据项(Data Item )组成。数据项是数据的不可分割的最小单位。数 据项是对客观事物某一方面特性的数据描述。
数据对象(Data Object ):是性质相同的数据元素的集合,是数据的一个子集。如字符 集合 C={ ‘ A , '
B'。,' C,…}
数据结构(Data Structure ):是指相互之间具有(存在)一定联系(关系)的数据元素的集合。 元素 之间的相互联系(关系)称为逻辑结构。 数据元素之间的逻辑结构有四种基本类型,如图 1-3
所
示。 ① ② ③ ④ 2、
链式结构:数据元素存放的地址是否连续没有要求。 数据的逻辑结构和物理结构是密不可分的两个方面,一个算法的设计取决于所选定的逻辑 结构,而算法的实现依赖于所采用的存储结构。 在C 语言中,用一维数组表示顺序存储结构;用结构体类型表示链式存储结构。
3、 C 语言中用带指针的结构体类型来描述 typ edef struct Lnode { ElemType data;
/*数据域,保存结点的值
struct Ln ode *n ext;
/* 指针域 */
}LNode;
/*结点的类型 */
4、 循环队列为空:fron t=rear 。
循环队列满:(rear+1)%MAX_QUEUE_SIZE =front 。
5、 性质1:在非空二叉树中,第i 层上至多有2i-1
个结点(i 仝1)。
性质2:深度为k 的二叉树至多有2k
-1个结点(k 仝1)。
性质3:对任何一棵二叉树,若其叶子结点数为 n 0,度为2的结点数为n 2,则n o = n 2+1。
一棵深度为 k 且有2k
-1个结点的二叉树称为满二叉树
(Full Bin ary Tree )。
完全二叉树的特点:若完全二叉树的深度为
k ,则所有的叶子结点都出现在第
k 层或k-1
集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。 线性结构:结构中的数据元素之间存在一对一的关系。 树型结构:结构中的数据元素之间存在一对多的关系。
图状结构或网状结构:结构中的数据元素之间存在多对多的关系。 顺序结构:数据元素存放的地址是连续的 ;
*/
层。对于任一结点,如果其右子树的最大层次为I,则其左子树的最大层次为I或1+1。
$ ◎奁
-I I -
①①
还原成森林
图6-22二义树还原成森林的过程
6、 线索二叉树:设一棵二叉树有 n 个结点,则有n-1条边(指针连线),而n 个结点共有
2n 个指针域(Lchild 和Rchild ),显然有n+1个空闲指针域未用。则可以利 用这些空闲的指针域来存放结点的直接前驱和直接后继信息。
7、 Huffman 树:具有n 个叶子结点(每个结点的权值为 w i )的二叉树不止一棵,但在所有的
这些二叉树中,必定存在一棵 WPL 值最小的树,称这棵树为Huffman 树(或 称最优树)。
性质5:若对一棵有n 个结点的完全二叉树(深度为 哋2n 」+1)的结点按层(从第1层到 第吨2n +1层)序自左
至右进行编号,则对于编号为i (1 W i w n )的结 点:
若i=1:则结点i 是二叉树的根,无双亲结点;否则,若i>1,则其双亲结点编号是 i/2 。
如果2i>n :则结点i 为叶子结点,无左孩子;否则,其左孩子结点编号是 2i 。
如果2i+1>n :则结点i 无右孩子;否则,
(DI'
片\致①
①
、•、
't (?)
宀
扫)淼林
(h )淼林中每操
树 对应的二叉树
(c )森林对应的二叉
树 图6-21森林转换成二叉榊的过程
j'、
/
(© 0 (M / * /y
(町二义树
(时去连线后
)(\1
W7-2Z 搖Sunk 汕 ff 注构追斌小生峨M 的过*V
@ @ L?)③®⑧③③(⑥②③ (壬)(工 厂Hi
第-步-
口
:a <7!I £8> (Th
$ A ③③
e II
图矗上亏lluffnu»nW 的掏造过稈
U) CS'f (j<* -----厂〔 ③G) d)
.r.n).
些•一、1
< T R )
〔/■\
i
0 O Cs'ii j i •厂厂mn
(3) ◎③ d)
8、完全无向图:对于无向图,若图中顶点数为n 具有n(n-1)/2条边的无向图称为完全无向图。 完全有向图:对于有向图,若图中顶点数为 n ,用e 表示弧的数目,则e [0,n(n-1)]。
具有n(n-1)条边的有向图称为完全有向图。 生成树、生成森林:
一个连通图(无向图)的生成树是一个极小连通子图,它含有图中全部
个顶点和只有足以构成一棵树的 n-1条边,称为图的生成树
关于无向图的生成树的几个结论:
1) 2) 3) 4)
,用e 表示边的数目, 则e [0, n(n-1)/2]。
一棵有n 个顶点的生成树有且仅有 n-1条边;
如果一个图有n 个顶点和小于n-1条边,则是非连通图; 如果多于n-1条边,则一定有环; 有n-1条边的图不- 1定是 生成树。
9、最小生成树(Minimum Spanning Tree):带权连通图中代价最小的生成树称为最小生成树。 最小生成树在实际中具有重要用途,
如设计通信网。设图的顶点表示城市,
边表示两个城市
之间的通信线路,边的权值表示建造通信线路的费用。 n 个城市之间最多可以建
n (n-1)/2
条线路,如何选择其中的
n-1条,使总的建造费用最低 ?
3
-=
<、1 ------ ! I
一 (<■> J
11H7-21 rc pE.HQ tr
小G 皿Hf 的i?l
V(
'' 1
))
小3丿
y
E V. 11
5 j
T —:―'
<|*>