计算机怎么表示树

计算机怎么表示树

树是一种简单的非线性结构,所有元素之间具有明显的层次特性。在树结构中,每一个结点只有一个前件,称为父节点,没有前件的结点只有一个,称为树的根节点,简称树的根。每一个结点可以有多个后件,称为该节点的子节点。没有后件的结点称为叶子结点。在树结构中,一个结点所拥有的后件的个树称为该节点的度,所有结点最大的度称为树的度。树的最大层次称为树的深度。
      例:公司员工职务组织机构图——树结构
      各机构之间是什么关系?
在这里插入图片描述
从图中可以看出从总经理到部门经理再到员工中间存在一个层次关系,每一层与下一层又存在着一对多的关系。
在日常生活中,经常遇到具有层次关系的例子。例如,一所大学有若干个学院组成,每个学院又有若干个专业。学校、学院和专业可以看成一个三级的层次关系。经常用到的操作系统下的文件系统,根目录下包含很多子目录和文件,子目录下再包含子目录和文件这也是一个典型的层次关系。
树形结构的数据元素之间呈现分支、分层的特点。树型结构在客观世界中广泛存在,如家族的家谱、社会组织机构,都可以用树形象的表示,在计算机领域中,编译系统中源程序的语法结构,数据库系统中信息的组织心思等。也常常用树形结构来表示。

1. 树的定义
树是由n(≥0)个结点组成的有限集合T。
如果n=0,称为空树;
如果n>0,则满足
*有一个特定的称之为跟(root)的结点,它只有直接后继,但没有直接前驱;
*除根以外的其它结点划分为m(m>0)个互不相交的有限集合T1,T2,…,Tm,每个集合又是一棵树,并且称之为根的子树(subTree)。
每棵子树的根节点有且仅有一个直接前驱,但可以有1个或多个直接后继。

2. 树的表示方法
(1)直观(树形、倒置树)表示法。这种表示方法非常形象,树的形状就像一棵倒立的树
在这里插入图片描述
(2)嵌套集合(文氏图)表示法。该表示法用集合表示结点之间的层次关系,对于其中任意两个集合,或者不相交,或者一个集合包含另一个集合。
在这里插入图片描述
(3)凹入法(缩进)表示法、该表示法类似于书的目录,用结点逐层缩进的方法表示树中各结点之间的层次关系。
在这里插入图片描述
(4)广义表(嵌套括号)表示法‘该表示法用括号的嵌套表示结点之间的层次关系,主要用于树的理论的描述。
                                                                  (A(B(E,F,G(K)),C(H),D(I,J)))

3. 树的基本操作
树是一种应用非常广泛的数据结构,树的基本操作有如下几种。
(1) 初始化InitTree(T):将树T初始化为一棵空树。
(2) 判断树空TreeEmpty(T):判断一棵树T是否为空,若为空,返回真,否则返回假。
(3) 求根节点Root(T):返回树T的根节点。
(4) 求双亲结点Parent(T,x):返回x的双亲结点,如果x为根节点,则返回空。
(5) 求孩子结点Child(T,x,i):求树T中结点x的第i个孩子结点,若结点x是叶子结点,或者无第i个孩子结点,则返回空。
(6) 插入子树InsertChild(T,x,i,y):将根为y的子树置位树T中结点x的第i棵子树。
(7) 删除子树DeleteChild(T,x,i):删除树T中结点x的第i棵子树。
(8) 遍历树Traverse(T):从根节点开始,按照一定的次序访问树中所有的结点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值