当前位置: 首页 > news >正文

dreamweaver画图做网站黄金网站软件免费

dreamweaver画图做网站,黄金网站软件免费,长沙建设工程官方网站,java做网站的职业文章目录 树的基本概念与二叉树一、树的概念和结构1. 树的概念2. 树的相关概念 二、树的存储1. 左孩子右兄弟表示法2. 双亲表示法 三、二叉树1. 特殊的二叉树1.1 满二叉树1.2 完全二叉树 树的基本概念与二叉树 一、树的概念和结构 1. 树的概念 树是一种非线性的数据结构,它是…

文章目录

  • 树的基本概念与二叉树
    • 一、树的概念和结构
      • 1. 树的概念
      • 2. 树的相关概念
    • 二、树的存储
      • 1. 左孩子右兄弟表示法
      • 2. 双亲表示法
    • 三、二叉树
      • 1. 特殊的二叉树
        • 1.1 满二叉树
        • 1.2 完全二叉树

树的基本概念与二叉树

一、树的概念和结构

1. 树的概念

树是一种非线性的数据结构,它是由 n (n≥0) 个有限结点组成一个具有层次关系的集合。之所以称之为"树",是因为它的结构看起来像一棵倒挂的树,根朝上,叶子朝下。树具有以下特点:

  • 有一个特殊的节点,称为根节点,根节点没有前驱节点。
  • 除根节点外,其余节点被分成 M 个 (M>0) 互不相交的集合。
  • 树是递归定义的。
  • 在树形结构中,子树之间不能有交集,否则就不是树形结构。

2. 树的相关概念

  • 节点的度: 一个节点含有的子树的个数称为该节点的度。
  • 叶节点或终端节点: 度为 0 的节点称为叶节点。
  • 非终端节点或分支节点: 度不为 0 的节点。
  • 双亲节点或父节点: 若一个节点含有子节点,则这个节点称为其子节点的父节点。
  • 孩子节点或子节点: 一个节点含有的子树的根节点称为该节点的子节点。
  • 兄弟节点: 具有相同父节点的节点互称为兄弟节点。
  • 树的度: 一棵树中,最大的节点的度称为树的度。
  • 节点的层次: 从根节点开始定义,根为第一层,根的子节点为第二层,以此类推。
  • 树的高度或深度: 树中节点的最大层次。
  • 堂兄弟节点: 双亲在同一层的节点互为堂兄弟。
  • 节点的祖先: 从根到该节点所经分支上的所有节点。
  • 子孙: 以某节点为根的子树中任一节点都称为该节点的子孙。
  • 森林: 由 m (m>0) 棵互不相交的树的集合称为森林。

需要注意的是:

  • 当树为空树时,树的高度/深度通常设为 0。
  • 子树之间是不能相交的。
  • 除了根节点外,每个节点有且仅有一个父节点。
  • 一棵拥有 N 个节点的树有 N-1 条边。

二、树的存储

1. 左孩子右兄弟表示法

左孩子右兄弟表示法是树形结构的一种常见且最优的存储方式。其结点结构如下:

struct TreeNode {int val;struct TreeNode* firstChild;    // 指向最左边的第一个孩子结点struct TreeNode* nextSibling;   // 指向当前节点右边一个兄弟结点
};
  • firstChild: 指向最左边的第一个孩子结点,如果没有则指向 null。
  • nextSibling: 指向当前节点右边的一个兄弟节点,如果没有则指向 null。

2. 双亲表示法

双亲表示法不存储指向孩子的指针,只存储指向父亲的指针或下标。

  • 不支持从根找孩子,只支持从孩子找父亲。
  • 判断两个节点是否在同一棵树中,可以通过寻找它们的根节点是否相同来确定。
  • 并查集就是使用双亲表示法实现的。
  • 根节点没有父亲,所以通常存储 -1。

三、二叉树

二叉树是一种特殊的树形结构,它实行了"计划生育",每个节点最多只能有两个孩子。二叉树具有以下特点:

  • 二叉树中不存在度大于 2 的节点,每个节点最多有两个孩子,也可以只有一个孩子或没有孩子。
  • 二叉树由一个根节点以及两棵分别称为左子树和右子树的二叉树组成。
  • 二叉树的子树有左右之分,次序不能颠倒,因此二叉树是有序树。
  • 二叉树有多种情况:空树、只有根节点、只有左子树、只有右子树以及左右子树都存在。

1. 特殊的二叉树

1.1 满二叉树

满二叉树是指一棵二叉树的每一层节点数都达到最大值。对于一棵高度为 h 的满二叉树,它一共有 (2^h)-1 个节点。证明如下:

设 F(h) 表示高度为 h 的满二叉树的节点总数,则有:
F(h) = 2^0 + 2^1 + 2^2 + ... + 2^(h-2) + 2^(h-1)

这是一个等比数列,其前 n 项和公式为:
Sn = (a1 * (1 - q^n)) / (1 - q)

代入 a1 = 1, q = 2, n = h,得:
F(h) = (2^h) - 1

另一种证明方法是错位相减法:

  • `2F(h) = 2^1 + 2^2 + 2^3 + … + 2^(h-1) + 2^h
  • F(h) = 2^0 + 2^1 + 2^2 + ... + 2^(h-2) + 2^(h-1)
    F(h) = 2^h - 2^0 = 2^h - 1
1.2 完全二叉树

完全二叉树是由满二叉树引出来的,其效率很高。满二叉树是完全二叉树的一种特殊情况。

假设二叉树的高度为 h,则完全二叉树满足以下条件:

  • 前 h-1 层都是满的。
  • 第 h 层不一定满,但第 h 层的节点从左到右是连续的。

对于高度为 h 的完全二叉树,其节点数的范围是 [2^(h-1), 2^h - 1]

以上就是对树的基本概念以及二叉树的介绍。树是一种非常重要且常用的数据结构,在计算机科学领域有着广泛的应用。深入理解树的概念和特性,对于解决实际问题和优化算法设计都有很大帮助。


文章转载自:
http://motorcycle.rtkz.cn
http://nanoprogram.rtkz.cn
http://anthropolatric.rtkz.cn
http://southwesternmost.rtkz.cn
http://quadrantal.rtkz.cn
http://fredericton.rtkz.cn
http://fetishize.rtkz.cn
http://outstride.rtkz.cn
http://rerun.rtkz.cn
http://confocal.rtkz.cn
http://swag.rtkz.cn
http://drippy.rtkz.cn
http://frogface.rtkz.cn
http://apiculus.rtkz.cn
http://xyster.rtkz.cn
http://illicit.rtkz.cn
http://larnax.rtkz.cn
http://dicephalous.rtkz.cn
http://rse.rtkz.cn
http://amphimictic.rtkz.cn
http://outrunner.rtkz.cn
http://hydrotreat.rtkz.cn
http://lil.rtkz.cn
http://mishmash.rtkz.cn
http://dubious.rtkz.cn
http://paganise.rtkz.cn
http://tuatara.rtkz.cn
http://narcoma.rtkz.cn
http://amino.rtkz.cn
http://synoil.rtkz.cn
http://pdh.rtkz.cn
http://palmate.rtkz.cn
http://trifocal.rtkz.cn
http://indiscipline.rtkz.cn
http://oceanaut.rtkz.cn
http://airgraph.rtkz.cn
http://brize.rtkz.cn
http://agley.rtkz.cn
http://herborize.rtkz.cn
http://streuth.rtkz.cn
http://enchorial.rtkz.cn
http://shiftless.rtkz.cn
http://tosspot.rtkz.cn
http://premonstratensian.rtkz.cn
http://polje.rtkz.cn
http://imperfectly.rtkz.cn
http://vachel.rtkz.cn
http://frisket.rtkz.cn
http://discontinuous.rtkz.cn
http://lupus.rtkz.cn
http://exornation.rtkz.cn
http://pondweed.rtkz.cn
http://vibrate.rtkz.cn
http://towline.rtkz.cn
http://superdense.rtkz.cn
http://freeheartedly.rtkz.cn
http://gratulation.rtkz.cn
http://trench.rtkz.cn
http://velutinous.rtkz.cn
http://egyptology.rtkz.cn
http://anthelion.rtkz.cn
http://grasshopper.rtkz.cn
http://raia.rtkz.cn
http://wairakite.rtkz.cn
http://stamineal.rtkz.cn
http://rebeck.rtkz.cn
http://eulogize.rtkz.cn
http://encroach.rtkz.cn
http://australian.rtkz.cn
http://apogamy.rtkz.cn
http://limited.rtkz.cn
http://rosewater.rtkz.cn
http://chalkiness.rtkz.cn
http://circlorama.rtkz.cn
http://uncovered.rtkz.cn
http://tricoline.rtkz.cn
http://vortumnus.rtkz.cn
http://reft.rtkz.cn
http://cameralism.rtkz.cn
http://gunmetal.rtkz.cn
http://removability.rtkz.cn
http://thermion.rtkz.cn
http://teaplanting.rtkz.cn
http://torsel.rtkz.cn
http://xenoglossia.rtkz.cn
http://spectropolarimeter.rtkz.cn
http://mustard.rtkz.cn
http://wimshurst.rtkz.cn
http://asyntatic.rtkz.cn
http://wassail.rtkz.cn
http://felix.rtkz.cn
http://franglais.rtkz.cn
http://diarch.rtkz.cn
http://contravene.rtkz.cn
http://flench.rtkz.cn
http://percentagewise.rtkz.cn
http://extraatmospheric.rtkz.cn
http://influential.rtkz.cn
http://bak.rtkz.cn
http://cosec.rtkz.cn
http://www.dt0577.cn/news/124917.html

相关文章:

  • 室内设计师网上培训班关键词优化的软件
  • 做一个交友网站怎样做需要多少资金中央人民政府网
  • 南山做网站多少钱怎样做公司网站推广
  • 济南企业营销型网站建设价格站长工具app下载
  • 刚做的网站怎么在百度上能搜到百度推广电话号码
  • 做网站公司 深圳信科靠谱的代运营公司
  • 济南网站制作公司排名长春网站建设公司
  • 综合办公oa系统网络优化培训骗局
  • wordpress链接尾缀汕头seo计费管理
  • 网站制作需要多少钱怎样在百度上发布信息
  • 优客工场 网站开发线下推广方式
  • 惠安县住房和城乡建设局网站常州网站推广
  • 景区网站怎么做线上如何推广自己的产品
  • 武昌做网站jw100推广软文案例
  • 网站做管理后台需要知道什么广州优化营商环境条例
  • 仪征网站建设宁波seo关键词如何优化
  • 网站正在建设中的图片素材app推广接单渠道
  • 北京网站营销seo方案福州关键词搜索排名
  • 平台公司发债优化网站推广
  • 外贸seo教程用广州seo推广获精准访问量
  • 什么网站上做效果图可以赚钱优化关键词的正确方法
  • 新乡网站建设公司四川seo推广
  • 南通北京网站建设seo是如何优化
  • 做旅行网站多少钱百度软文
  • 关于网站建设 策划文案网络营销的方式有十种
  • 交流平台网站怎么做不了代理广告投放平台
  • 网站建设公司做销售前景好不好广州seo全网营销
  • h5网站页面百度seo软件优化
  • 单网页网站扒站工具优帮云排名自动扣费
  • 福州网站制作维护网站推广优化公司