位置: IT常识 - 正文

树结构(树结构ADT知识点思维导图)

发布时间:2024-01-26
树结构 1.1 树的定义 树(Tree):个节点构成的有限集合。当n = 0时,称为空树。对于任一棵非空树(n>0),它具备以下性质: 树中有一个称为"根(Root)"的特殊节点,用r表示;其余节点可分为m(m>0)个互不相交的有限集、,...,,其中每个集合本身又是一棵树,称为原来树的子树(Sub ... 树结构1.1 树的定义

推荐整理分享树结构(树结构ADT知识点思维导图),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:树结构ADT知识点思维导图,树结构属于什么结构?,树结构的定义,树结构部首,树结构图,树结构图,树结构图,树结构属于什么结构?,内容如对您有帮助,希望把文章链接给更多的朋友!

树(Tree):个节点构成的有限集合。当n = 0时,称为空树。对于任一棵非空树(n>0),它具备以下性质:

树中有一个称为"根(Root)"的特殊节点,用r表示;其余节点可分为m(m>0)个互不相交的有限集、,...,,其中每个集合本身又是一棵树,称为原来树的子树(SubTree)。如下图:

1.2 树结构的术语

树结构中有很多概念术语,在深入讨论树结构之前,我们先来介绍下跟树结构有关的术语。为了方便理解记忆,结合具体的一棵树结构来进行介绍,树结构如下:

节点:树中存储的项。上图中的A-L都是节点。

根节点:树中最顶端的节点。在树结构中只有它没有父节点。上图中的A为根节点。

节点的度:一个节点含有的子树的个数。根节点A的度为3;子节点C的度为1。

树的度:树中最大节点度。树中最大节点度为3(根节点A和子节点B的度均为3),所以树的度为3。

子节点(孩子节点):紧邻一个给定的节点之下,并且直接与给定节点相连的一个节点。一个节点可以有多个子节点。上图中B-L都是子节点。

父节点(双亲节点):紧邻一个给定节点之上,且直接与给定节点相连的一个节点。一个节点只能有一个父节点。上图中A、B、C、D、H都是父节点。

兄弟节点:拥有共同父节点的子节点。上图中B、C、D是兄弟节点,E、F、G也是兄弟节点。

叶子节点:没有子节点的节点。或者说度为0的节点。上图中标绿的几个节点都是叶子节点。

内部节点:至少有一个子节点的节点。B、C、D、H都是内部节点。

边/分支:将一个父节点连接到其子节点的线。上图中的线就是边也称为分支。

后代(子孙):以某节点为根的子树中任一节点都称为该节点的后代。E、F、G是节点B的后代;H、K、L是节点C的后代,B-L的所有节点都是根节点A的后代。

树结构(树结构ADT知识点思维导图)

祖先:从根到该节点所经分支上的所有节点。节点D是I、J的祖先;根节点A是所有节点的祖先。

路径:连接一个节点与其后代节点边的序列。A-B-E和A-C-H-K都可以称作一条路径。

路径长度:路径中边的数目。路径A-B-E的路径长度为2;路径A-C-H-K的路径长度为3。

节点的层次:从根节点定义,根节点为第1层,根节点的子节点为第2层,依次类推。节点的层在上图中已经标出。

深度(高度):叶子节点所在的最大层次。上图中树的深度为4。

森林:m棵不相交的树的集合。分别以B、C、D为根节点的子树组成的集合可以看做一个森林。

以上就是树结构的一些术语。

1.3 树的分类

树结构可以分为两大类:有序树和无序树。树中任意节点间没有顺序关系,那么称其为无序树,也称自由树。相对的,树中的任意节点有顺序关系,称其为有序树。在有序树中,子节点被视为按照从左到右的顺序排列,最左边的子节点称为第一个子节点,最右边的子节点称为最后一个子节点。我们研究的最多的树结构就是有序树。而有序树中最具代表性的树结构就是二叉树。

二叉树就是度不超过2的有序树结构。 二叉树中的每个节点最多只能有两个分支,分别称为左子树和右子树。

根据二叉树的定义,会有如下两种极端的二叉树:

根据二叉树的形状,有以下几种常见的二叉树:

平衡二叉树:当且仅当任意节点的两棵子树的高度差不大于1的二叉树。

完全二叉树:除了最后一层外,其他层的节点数目都达到最大的二叉树。完全二叉树是平衡二叉树的一个特例,完全二叉树最后一层上的节点都是从左到右填充的。对于一颗k层的完全二叉树,其节点总数最少的情况是:最后一层只有一个节点,此时节点数目为:;其节点总数最多的情况是:最后一层节点数目达到最大,即满二叉树,此时节点数目为:。对于节点数目为k的完全二叉树,其深度为:

满二叉树:所有层的节点数目均达到最大的二叉树。满二叉树是完全二叉树的一个特例。对于深度为k的满二叉树,其节点数目是:;对于节点数目为k的满二叉树,其深度为:。

几种二叉树的结构图如下:

关于二叉树还有一个性质:二叉树中叶子节点数为(因为叶子节点的度为0,所以下标为0),度为2的节点数为 ,那么有: n0 = n2 + 1

解析:关于上面等式关系的求解我们可以这样考虑。假设二叉树的总节点数为,因为二叉树的节点度只有0、1、2三种情况,假设节点度为0、1、2的节点数分别为:n0、n1和n2。那么有n = n0 + n1 + n2。二叉树中节点度为1的节点有1条边连接到其子节点、节点度为2的节点有2条边连接到其子节点,假设二叉树有E条边,那么E = n1 + 2n2。而我们知道,在二叉树中节点总数和边的数目有这样的关系:n = E +1 = n1 + 2n2 + 1。联立加粗的两个等式,容易得出 n0 = n2 + 1。

本文链接地址:https://www.jiuchutong.com/zhishi/310958.html 转载请保留说明!

上一篇:织梦dedecms栏目添加自定义字段,增加栏目上传缩略图功能(织梦专题页模板)

下一篇:phpcms如何添加管理员(phpcms添加内容)

  • 支付宝怎么查询疫苗批号(支付宝怎么查询婚姻状况)

    支付宝怎么查询疫苗批号(支付宝怎么查询婚姻状况)

  • 抖音卡通头像视频应该怎么拍呢

    抖音卡通头像视频应该怎么拍呢

  • 华为nova4怎么设置自动锁屏(华为nova4怎么设置时间24小时制)

    华为nova4怎么设置自动锁屏(华为nova4怎么设置时间24小时制)

  • 抖音怎么把app里的视频保存在手机里(怎么把抖音app放到手机桌面)

    抖音怎么把app里的视频保存在手机里(怎么把抖音app放到手机桌面)

  • word画转弯箭头怎么弄(word如何画拐弯箭头)

    word画转弯箭头怎么弄(word如何画拐弯箭头)

  • opporeno4什么时候上市(OPPOReno4什么时候停产的)

    opporeno4什么时候上市(OPPOReno4什么时候停产的)

  • 淘宝红包省钱卡怎么用(开通淘宝红包省钱卡)

    淘宝红包省钱卡怎么用(开通淘宝红包省钱卡)

  • 微信删除好友再加回来对方知道吗(微信删除好友再加上聊天记录还有吗)

    微信删除好友再加回来对方知道吗(微信删除好友再加上聊天记录还有吗)

  • 荣耀30pro有红外功能吗(荣耀30pro有红外线功能吗)

    荣耀30pro有红外功能吗(荣耀30pro有红外线功能吗)

  • mhz是指计算机的什么(mhz来衡量计算机)

    mhz是指计算机的什么(mhz来衡量计算机)

  • 手机关机还能有轨迹吗(手机关机还能有未接来电提醒吗)

    手机关机还能有轨迹吗(手机关机还能有未接来电提醒吗)

  • 爱奇艺刚续的费能退不(爱奇艺会员交费之后还可以取消吗)

    爱奇艺刚续的费能退不(爱奇艺会员交费之后还可以取消吗)

  • 华为6se什么时候上市(华为6se什么时候出的)

    华为6se什么时候上市(华为6se什么时候出的)

  • 华为荣耀20是不是双卡双待(华为荣耀20是不是三网)

    华为荣耀20是不是双卡双待(华为荣耀20是不是三网)

  • 段落默认对齐方式(段落对齐方式默认设置为左对齐对吗)

    段落默认对齐方式(段落对齐方式默认设置为左对齐对吗)

  • p30录屏功能在哪里(p30录屏功能在哪里打开)

    p30录屏功能在哪里(p30录屏功能在哪里打开)

  • 13英寸笔记本多大长宽(13英寸笔记本多大长宽cm)

    13英寸笔记本多大长宽(13英寸笔记本多大长宽cm)

  • 惠普4530s上市时间(惠普4530s笔记本i7上市多少钱)

    惠普4530s上市时间(惠普4530s笔记本i7上市多少钱)

  • vivo双引擎闪充多少w(vivo双引擎闪充什么意思)

    vivo双引擎闪充多少w(vivo双引擎闪充什么意思)

  • 手机电源键在哪(手机电源键在哪个位置图片)

    手机电源键在哪(手机电源键在哪个位置图片)

  • 手机怎么卸载360安全卫士(手机怎么卸载软件)

    手机怎么卸载360安全卫士(手机怎么卸载软件)

  • 华为mate30pro有杜比音效吗(mate30pro的)

    华为mate30pro有杜比音效吗(mate30pro的)

  • 魅族16th怎么进入开发者(魅族16如何)

    魅族16th怎么进入开发者(魅族16如何)

  • 安卓怎么看卸载软件记录(安卓怎么看已经卸载的app)

    安卓怎么看卸载软件记录(安卓怎么看已经卸载的app)

  • 手机怎样退出金山文档(怎么退出金兰)

    手机怎样退出金山文档(怎么退出金兰)

  • ipadpro10.5电池容量(ipadpro10.5英寸电池容量)

    ipadpro10.5电池容量(ipadpro10.5英寸电池容量)

  • LangChain与大型语言模型(LLMs)应用基础教程:信息抽取

    LangChain与大型语言模型(LLMs)应用基础教程:信息抽取

  • 个人所得税年终奖单独计税怎么操作
  • 海南增值税发票图片
  • 商场购物卡的会员怎么用
  • 税前弥补亏损是净利润吗
  • 企业所得税负担变动率
  • 行政职工福利费包括哪些内容呢
  • 工资结算汇总表会计科目
  • 工业土地划拨性质有年限吗
  • 国外人员劳务费怎么算
  • 劳务报酬2019
  • 月工资和账户工资区别
  • 为什么增值税发票综合服务平台进不去
  • 私立医院适用什么法律
  • 月收入不超10万减免 具体分销售额吗
  • 视同销售如何纳税调整?
  • 土地使用权与房屋所有权不一致
  • 小规模纳税人不开票收入填在哪里
  • 汽车维修发票是几个点
  • ca证书延期不了
  • 出口货物应退税额确认的会计分录
  • 苹果手机怎么看国行还是美版
  • 应交税费已交税金借方有余额
  • 免征增值税的会计处理方法有哪些
  • 华为mate刷机能刷用户锁吗
  • 净现值法的优点包括
  • 隐藏分区怎么打开
  • 交易性金融资产入账价值怎么计算
  • linux命令“ln file1 file2”的含义是
  • win10系统电脑怎么连接wifi
  • 如何制作win7系统u盘安装盘
  • 售后回租经营租赁可以抵扣吗
  • php array_map 和 foreach性能
  • 结转销售原材料会计分录
  • 小规模年底税金怎么做账
  • 为什么结转各项支出时本年利润在借方
  • 未确认融资费用怎么算
  • 所得税 季报
  • 冲销进项税
  • 面试学弟学妹问题
  • wordpress小工具开发
  • 对公取款
  • 个人所得税生产经营所得税怎么申报
  • 收到抵扣发票怎么做分录
  • 帝国cms灵动标签调用外表
  • 一般商品销售的会计分录
  • 入伙退伙协议要盖章吗
  • 发票验旧验的是哪些发票
  • 哪些税种影响当期损益
  • 新成立公司实收资本没到位该怎么做账
  • 税控系统技术维护费全额抵扣分录
  • 无票收入需要缴纳文化事业建设税吗
  • 微信提现手续费多少?
  • 总公司中标分公司结算可以吗
  • 金蝶kis专业版怎么备份账套
  • 为什么要计提工资附加费
  • mysql -ne
  • mysql基本sql语句大全(基础用语篇)
  • excel格式变了怎么办
  • mysql与oracle的区别
  • win10虚拟桌面版
  • 高效管理者的三大技能 罗伯特卡茨
  • rhel6安装
  • grep的结果 再次查找
  • 麒麟linux系统怎么安装软件
  • jquery添加css样式
  • 爬虫 python
  • uinty实现玩家跟随鼠标位置平滑旋转角度
  • shell 查找最新文件
  • node.js java 性能
  • node解决了什么问题
  • TNet Tasharen Networking
  • python 类的用法
  • ubuntu修改默认桌面环境
  • jquery 表格插件
  • 所属税务局怎么填写
  • 深圳土地增值税清算规程
  • 甘肃税务厅
  • 如何打印更正申请
  • 注册一个信息咨询公司需要什么
  • 广东2020医保缴费要多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号