博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构-王道2017-第4章 树与二叉树
阅读量:4883 次
发布时间:2019-06-11

本文共 975 字,大约阅读时间需要 3 分钟。

1.树的定义

 树是N(N>=0)个结点的有限集合,N=0时,称为空树,这是一种特殊情况。在任意一棵非空树种应满足:

  1)有且仅有一个特定的成为根的结点

  2)当N>1时,其余结点可分为m(m>0)个互不相交的有限集合T1,T2,T3..Tm,其中每一个集合,本身又是一棵树,并且称为根节点的子树。显然树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构。

     特点:

        1)树的根结点没有前驱结点,除根以外的所有节点有且只有一个前驱结点。

        2) 树中所有结点可以有零个或多个后继结点

    树适合表示有层次结构的数据。

3.树中一个结点的子结点个数称为该结点的度,树中结点的最大度数(某一个,不是全部结点)称为树的度。

  度大于0的结点称为分支结点(也称为非终端结点);度为0的结点称为叶子结点。在分支结点中,每个结点的分支数就是该结点的度。

 结点的层次从树根开始定义,根结点为第一层

 结点的深度是从根结点开始自顶向下逐层累加的

 结点的高度是从叶结点开始自底向上逐层累加的

 树的高度(又称深度)是树中结点的最大层数

4.有序树和无序树:树中结点的子树从左到右是有次序的,不能交换,这样的树叫做有序树,有序树中,一个结点其子结点按从左到右顺序出现是有关联的。反之,称为无序树,

  路径和路径长度:树中两个结点之间的路径是由这两个结点之间所经过的结点序列构成的,而路径长度是路径上所经过的边的个数。

   注意:由于树中的分支是有向的,即从双亲结点指向孩子结点,所以树中的路径是从上向下的,同一双亲结点的两个孩子结点之间不存在路径

 5.森林:森林是m(m>=0)棵互不相交的树的集合。森林的概念与树的概念十分相近,因为只要把树的根节点删去就变成了森林,反之,只要给n棵独立的树加上一个结点,并把这n棵树作为该结点的子树,则森林就变成了树

 6.树的性质:

  1)树中的结点数等于所有结点的度数加1

  2)度为m的树中第i层上至多有m^i-1(i>=1)

  3)高度为h的m叉树至多有(m^h - 1)/(m-1)个结点

  4) 具有n个结点的m叉树的最小高度为向上取整(logm(n(m-1)+1)

7.树的路径长度是从树根到每一个结点的路径长度的总和

转载于:https://www.cnblogs.com/--CYH--/p/6576655.html

你可能感兴趣的文章
201571030335 + 小学四则运算练习软件项目报告
查看>>
不用代码就能实现get与post
查看>>
gdb基本调试命令
查看>>
互联网开放平台API安全设计
查看>>
OPMN
查看>>
LOG收集系统(一):原日志至收集
查看>>
【文摘】经营十二条
查看>>
清除浮动的方法
查看>>
Logstash连接Elasticsearch异常
查看>>
洛谷P4287 [SHOI2011]双倍回文(回文自动机)
查看>>
用户交互程序,格式化输出
查看>>
GNOME的发展与对比
查看>>
SPOJ PT07X Vertex Cover
查看>>
$ python-json模块的基本用法
查看>>
5.6.3.4 trim()方法
查看>>
Cookie、Session和自定义分页
查看>>
SQL演练
查看>>
React Antd中样式的修改
查看>>
Spring 应用外部属性文件 配置 context 错误
查看>>
导入lxml找不到etree,报ImportError:DLL load failed:找不到指定的程序
查看>>