树的存储(1)

一、树的基本概念

        1.树的定义
                    树(Tree)是n(n≥0)个结点的有限集,它或为空树(n=0);或为非空树,对于非空树(1)有且仅有一个称之为根的结点;(2)除根结点以外的其余结点可分为m(m>0)个互不相交的有限集T1, T2, …, Tm, 其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。
 
        2.基本术语
                根——即根结点(没有前驱)
                叶子——即终端结点(没有后继)
                森林——指m棵不相交的树的集合(例如删除A后的子树个数)
                有序树——结点各子树从左至右有序,不能互换(左为第一)
                无序树——结点各子树可互换位置。
                双亲—— 即上层的那个结点(直接前驱)
                孩子—— 即下层结点的子树的根(直接后继)
                兄弟—— 同一双亲下的同层结点(孩子之间互称兄弟)
                堂兄弟—— 即双亲位于同一层的结点(但并非同一双亲)
                祖先—— 即从根到该结点所经分支的所有结点
                子孙—— 即该结点下层子树中的任一结点
                结点—— 即树的数据元素
                结点的度—— 结点挂接的子树数
                结点的层次—— 从根到该结点的层数(根结点算第一层)
                终端结点—— 即度为 0 的结点,即叶子
                分支结点—— 即度不为 0 的结点(也称为内部结点)
                树的度—— 所有结点中的最大值
                树的深度(高度)—— 指所有结点中最大的层数
三、 二叉树的基本概念
                1 .二叉树的定义
                做一个游戏:我现在在纸上写好了一个 100 以内的正整数数字,请大家想办法猜出我 写的是哪一个,注意猜的数字不能超过 7 个,我的回答只会告诉你“大了”或者“小了” ———— 折半查找 对于这种在某个阶段都是两种结果的情形,比如:开和关、 0 和 1、真和假、上和下、 对与错、正面与反面等,都适合用树状结构来处理,而且是一种很特殊的树状结构 ———— 二叉树 二叉树( Binary Tree )是 n ( n≥ 0 )个结点所构成的集合,它或为空树( n=0 );或为 非空树,对于非空树 T : ( 1 )有且仅有一个称之为根的结点; ( 2 )除根结点以外的其余结点分为两个互不相交的子集 T 1 和 T 2 ,分别称为 T 的左子树和 右子树,且 T 1 和 T 2 本身又都是二叉树。
        2 .二叉树的性质
         一棵深度为 k 的有 n 个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编 号,如果编号为
i ( 1≤ i≤ n )的结点与满二叉树中编号为 i 的结点在二叉树中的位置相同, 则这棵二叉树称为完全二叉树。 对完全二叉树,若从上至下、从左至右编号,则编号为 i 的结点, 其左孩子编号必为 2*i ; 其右孩子编号必为 2*i + 1 ;
其双亲的编号必为 i/2。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值