作者: 我想吃碗牛肉面 | 来源:发表于2018-08-07 15:16 被阅读9次

背景
前面已经学习了线性结构和表结构,这些数据结构适用于一部分的数据组织,但是对于局域分支结构的数据,就需要另一种数据结构了—树。这种分支结构的数据与数据之间可能有上下级关系、可能有整体与部分的关系,如现实世界中的族谱、公司的组织结构、书的章节等。

树的定义是一个递归的定义,即树的定义中又用到了树的概念。

二叉树
它的特点是每个结点最多有两个子女,分别成为该结点的左子女和右子女。就是说,在二叉树中不存在度大于2的结点,并且二叉树的子树有左、右之分,其子树的次序不能颠倒。

满二叉树:每一层结点都达到了最大个数。
完全二叉树:一共有k层,从第1层到第k-1层的所有各层结点数都是满的。

二叉树的存储结构又两种:数组方式和链表方式
数组存储是从根节点开始为数组的第一个元素,然后一层层往下,从左到右,存储到数组中,如果遇到空的,也就是说不是完全二叉树,则用空置将其补全。所以说存储完全二叉树是最简单、最节省存储的存储方式。

链表存储对于形态剧烈变化的二叉树是比较好的存储表示,其针对每个二叉树结点应该包含三个域,即data、左子女结点指针、右子女结点指针。使用这种结构寻找子女结点很方便,但要寻找父节点就很困难了,因此可以增加一个父指针域。

二叉树遍历
所谓二叉树遍历就是遵从某种次序,遍访二叉树中的所有结点,使得每个结点被访问一次,而且只访问一次。
前序遍历:遵循VLR的原则(V表示该结点,L表示左子树、R表示右子树)
中序遍历:遵循LVR的原则
后续遍历:遵循LRV的原则
要理解好以上遍历规则,是需要在每一个结点都对(VLR/LVR/LRV)进行严格地判断。

二叉树遍历的应用

  1. 二叉树后序遍历的应用
  2. 二叉树前序遍历的应用
  3. 利用二叉树谦虚遍历建立二叉树

二叉树遍历的非递归算法(这个后面看)
二叉树的计数
线索二叉树

相关文章

  • 水彩过程 | 树树树树

    练习了一下树的画法,用毛笔勾树干,扇形笔画树叶还是又快又方便的。因为不是写实风格,只要把树的意象画出来就可以,所以...

  • 树·树

    ​如果有来生,要做一棵树,站成永恒,没有悲欢姿势,一半在尘土里安详。一半在风里飞扬,一半洒落阴凉,一半沐浴阳光。 ...

  • 树,树……

    树,树…… ——洛尔迦 树,树, 枯了又绿。 脸蛋美丽的姑娘 在那里摘橄榄。 风,塔楼上的求爱者, 拦腰把她...

  • 橄榄树树树

    在建班级群的时候,我顺手打了三个树——橄榄树树树。是的,这是橄榄树第三次起航。 第一次,在北京,我说,我愿意在无人...

  • 树,与树

    (第一次学着简书里文友看图写诗,2020的图,各位讲究着看吧) 文/三少爷的糖 一颗树站在山头 遥望着远方,朦胧中...

  • 树,与树

    我不是一个很喜欢女生哭闹的人。 哭闹,意味着理智被情感摧毁。 理智没了,沟通渠道也就关闭了。 没有了沟通,剩下的就...

  • 树和树

    我的家门前有一棵柏树,不是什么稀罕的树,但它却挺直腰杆儿,坚定的伫立在我家门前,望着远方,似乎在等什么人又不像在等...

  • 树树秋声

    余秋雨说:生命,是一树花开,或安静或热烈,或寂寞或璀璨。日子,就在岁月的年轮中渐次厚重,那些天真的、跃动的、抑或沉...

  • 短篇‖树树

    这是一条幽静的古道,两旁尽是残垣断壁,竟也有一些台阶通向几栋还算有顶篷的石质的建筑物。我和我的伙伴着级上了一段...

  • 树树夜夜

    长夜唧唧夏虫前 长街相对两树闲 冠盖接云皆无语 此缘如可问苍天

网友评论

      本文标题:

      本文链接:https://www.haomeiwen.com/subject/wicavftx.html