1.29总结

心得体会

每天都困的想④

学习内容

今天是纯理论折磨局,就以这个文章来讲我对树的理解

树的定义

树是结点的集合,当结点个数为时是空树

结点可以是单个元素 也可以是集合,也就是树的根结点的子集

树是一种递归的数据结构 也是一种逻辑结构

树的结点

最高的结点(起始的结点)称为根结点,最底部的(没有子结点的)称为叶子结点

树的根结点没有前驱,除根结点外的所有结点有且只有一个前驱

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

结点与结点之间表示逻辑关系的连线称为边

(用 集合 的概念来理解树的结点就很好理解,比如说集合中的元素具有互异性,也就是说树的每个结点都是唯一的)
 

树的“关系”表示

考虑结点K。根A到结点K的唯一路径上的任意结点,称为结点K的祖先。如结点B是结点K的祖先,而结点K是结点B的子孙。

其他的关系有“双亲”“孩子”“兄弟”就很好推导,不多说了

树的度,深度,高度,层次

深度自上而下,高度自下而上,层次从根结点作为第一层开始向下

结点的度:一个结点所具有的分支的数量

具有最多分支结点的 结点 的度称为树的度

关于度为m的树与m叉树

相同点:任意结点的度≤m

不同点:

度为m的树-至少有个点的度为m;不可以为空树,至少要有m+1个结点

m叉树-所有的点都可以<m;可以是空树

有序树和无序树

树中结点的各子树从左到右是有次序的,不能互换,称该树为有序树,否则称为无序树。

树的性质

理解概念之后 简单的  某一层具有多少结点 和 树的总结点问题都可以推导

对我来说只有这个高度要记(主要是推导比较麻烦)

(注重实操的不用硬记,大部分性质都围绕着“至少”“至多”展开,做题的话还是讲究实际情况实际考虑)

树的储存与表示

因为树除了根结点,每个结点只有一个前驱,所以每个结点是唯一的,找到结点的路径也是唯一的,同时树还有层次这个概念,所以对于某一个结点的表示,可以通过自上而下找到某个结点,也可以通过同层次的搜索找到某个结点(结点的唯一性是它能够用多种表示方法的根本

这里提到的“孩子表示法”和“孩子兄弟表示法”,可以简单的理解为,前者用了队列,后者用了链表的原理(后者还多了一层“同一个双亲结点”的关系)

(记是不可能的,这辈子都不可能的)

二叉树

每个结点最多有两个分支节点(子树),有序树(就是某个结点的两个分支节点交换位置时产生的树是不相同的),可以是空树

对于某个结点的两个分支节点,称其为左子树和右子树(如果某个点只有一个分支称其为左)

二叉树的存储结构

(对于存储结构的使用,就记住顺序结构是通过空间位置的关系来表现逻辑关系,而链式结构就是用指针模拟逻辑关系就ok)

在内存空间中创造连续单元表现二叉树的逻辑关系会呈现一个三角形,同时会出现比较多的空内存单元,所以一般都用链式存储

(今天就学到这里,遍历明天再说)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值