全国计算机二级公共基础知识1.pptVIP

  • 1
  • 0
  • 约1.33万字
  • 约 81页
  • 2019-09-06 发布于广东
  • 举报
3)二叉树性质 性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。 性质2:深度为k的二叉树至多有2k-1个结点(k≥)。 (深度一定,二叉树的最大结点数也确定) 性质3:二叉树中,终端结点(叶节点)数n0与度为2的结点数n2有如下关系: n0=n2+1 4、满二叉树 满二叉树:深度为k,且有2k-1个结点的二叉树。 特点: 1)每一层上结点数都达到最大 2)度为1的结点n1=0 结点层序编号方法:从根结点起从上到下逐层(层内从左到右)对二叉树的结点进行连续编号。 1 2 3 7 6 5 4 K=3 n=23-1=7 满二叉树 5、完全二叉树 深度为k,结点数为n的二叉树,当且仅当每个结点的编号都与相同深度的满二叉树中从1到n的结点一一对应时,称为完全二叉树。 满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。 4 5 2 1 1 3 完全二叉树 D C G F E B A 6、二叉树的存储结构 1)顺序存储结构 用一组地址连续的存储单元,以层序顺序存放二叉树的数据元素,结点的相对位置蕴含着结点之间的关系。 bt[3]的双亲为└3/2┘=1, 即在b t[1]中; 其左孩子在bt[2i]=bt[6]中; 其右孩子在bt[2i+1]=bt[7]中。 1 2 3 4 5 6 7 8 9 10 11 A B C D E F G 0 0 0 0 这种存储结构适合于完全二叉树,既不浪费存储空间,又能很快确定结点的存放位置、以及结点的双亲和左右孩子的存放位置,但对一般二叉树,可能造成存储空间的浪费。 D 二叉树 C G F E B A 1 2 3 4 5 6 7 8 9 10 11 A B C D E 0 0 0 0 F G 0 0 0 0 一般二叉树也按完全二叉树形式存储,没结点处用0表示。 二叉链表的结点结构 lchild data rchild D 二叉树 C E B A A C B D E ∧ ∧ ∧ ∧ ∧ ∧ 二叉链表 2) 链式存储结构 设计不同的结点结构,可以构成不同的链式存储结构。常用的有: 二叉链表 3)遍历二叉树 遍历二叉树是指按一定的规律对二叉树的每个结点,访问且仅访问一次的处理过程。 一次遍历后,使树中结点的非线性排列,按访问的先后顺序变为某种线性排列。 遍历的次序:若设二叉树根为D,左子树为L,右子树为R,并限定先左后右,则有以下三种遍历次序: LDR 中序遍历;LRD 后序遍历;DLR 先序遍历 (1)中序遍历二叉树 算法思想: 若二叉树非空,则: 1)中序遍历左子树 2)访问根结点 3)中序遍历右子树 (2)后序遍历二叉树 算法思想: 若二叉树非空,则: 1)后序遍历左子树 2)后序遍历右子树 3)访问根结点 (3)先序遍历二叉树 算法思想: 若二叉树非空,则: 1)访问根结点 2)先序遍历左子树 3)先序遍历右子树 例:表达式 a+b ×(c-d)-e/f a c d e f / - b × + - + 遍历结果: 中序: a+b × c - d - e /f 后序: abcd - × +ef / - 先序: - +a × b- cd /ef 1、图的基本概念 图定义:图是由顶点集合(vertex)及顶点间的关系集合组成的一种数据结构: Graph=( V, E ) 其中 V = { x | x ? 某个数据对象} 是顶点的有穷非空集合; E1 = {(x, y) | x, y ? V } 或 E2 = {x, y | x, y ? V Path (x, y)} 其中, E1是顶点之间关系的有穷集合,也叫做边(edge)集合,此时的图称为无向图。 E2 表示从 x 到 y 的一条弧,且称x为弧尾,y为弧头,这样的图称为有向图。 13.5 图 有向图与无向图:在有向图中,顶点对x, y 是有序的。在无向图中,顶点对(x, y)是无序的。 完全图:若有 n 个顶点的无向图有 n(n-1)/2 条边, 则此图为无向完全图。有 n 个顶点的有向图有n(n-1) 条边, 则此图为有向完全图。 0 1 2 0 1 2 0 1 2 6 5 4 3 0 1 2 3 邻接顶点:如果 (u, v) 是 E(G) 中的一条边,则称 u 与 v 互为邻接顶点。 子图:设有两个图 G=(V, E) 和 G‘=(V’, E‘)。若 V’? V 且 E‘?E, 则称 图G’ 是 图G 的子图。 权:某些图的边具有与它相关的数, 称之为权。这种带权图叫做

文档评论(0)

1亿VIP精品文档

相关文档