zoukankan      html  css  js  c++  java
  • 《大话数据结构》中介绍的三种树的存储结构的表示方法的总结

    前言:在学习《大话数据结构》中的第6章树时,感觉在介绍三种存储结构的表示方法时比较凌乱,所以整理了一下。

    双亲表示法

           1.容易找到双亲结点。

           2.找结点的孩子需要遍历整个结构。

    改进

    1.增加某个结点最左边孩子的域。

    要知道其有多个孩子,必须要其下一个个结点的最左边孩子的域。

    用下一个结点最左边孩子的域-这个结点左边孩子的域即这个结点的所有孩子的域

    2.增加右兄弟域,

    找左兄弟需要遍历整个结构,如果兄弟很多,那么找起来就不容易了。

    孩子表示法

           1.找某个结点的孩子,只需要找到这个结点的孩子单链表即可。

           2.和双亲表示法一样容易遍历整棵树。

           3.如果某个结点的孩子很多,那么位于孩子单链表后边的孩子找双亲需要往前遍历到表头数组。

    改进:1。在表头数组增加双亲域。(双亲孩子表示法)

    孩子兄弟表示法(即二叉树表示法)

    1. 和孩子表示法差不多容易找孩子,不容易找双亲。
    2. 可以增加双亲域,那就不如用双亲孩子表示法了。
    3. 最大的好处就是把一棵复杂的树变成了一棵二叉树。

    总结如果不是特殊的二叉树情况,双亲孩子表示法比较实用。

    祝你早日攒够失望,然后开始新的生活。
  • 相关阅读:
    docker如何将运行中的容器保存为docker镜像?
    java8流的地址
    maven命令package、install、deploy
    windows下设置redis开机自启动
    mysql的安装参考
    service mysql启动失败unit not found
    JAVA中Wait()与Notity()、同步队列与等待队列
    Java8函数式编程
    Groovy ConfigSlurper()读取配置文件简易示例
    SoapUI官方文档
  • 原文地址:https://www.cnblogs.com/LuRenJiang/p/6368442.html
Copyright © 2011-2022 走看看