博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小蚂蚁学习数据结构(10)——树的基本介绍
阅读量:6943 次
发布时间:2019-06-27

本文共 878 字,大约阅读时间需要 2 分钟。

hot3.png

树定义

    专业定义

    1,有且只有一个称为根的节点

    2,有若干个互不相交的子树,这些子树本身也是一棵树

   通俗定义

    1,树是有节点和边组成

    2,每个节点只有一个父节点,但可以有多个直接点

    3,但有一个节点例外,该节点没有父节点,此节点称为根节点

    专业术语

        节点    父节点    子节点

        子孙    堂兄弟

        深度:

            从根节点到最底层节点的层数称之为深度

            根节点是第一层

        叶子节点:    

            没有子节点的节点

        非终端节点

            实际就是非叶子节点

        度

            子节点的个数称为度

树的分类

    一般树

    二叉树

    森林

一般树:任意一个节点的子节点的个数都不受限制

二叉树:

    任意一个节点的子节点个数最多两个,且子节点的位置不可更改

    分类:

        一般二叉树

        满二叉树:

            在不增加树的层数的前提下,无法再多添加一个节点的二叉树就是二叉树

        完全二叉树

            如果只是删除满二叉树最底层最右边的连续若干个节点,这样形成的二叉树就是完全二叉树

森林:n个互不相交的树的集合

树的存储

    二叉树的存储

        连续存储【完全二叉树】

            书上 性质4——性质5

                优点:

                    查找某个节点的父节点和子节点(也包括有没有子节点)速度很快

                缺点:

                    耗用内存空间过大

        链式存储

            比较简单,耗费内存也少,随机分布,依靠指针域进行链接

    一般树的存储

        双亲表示法(求父节点方便)

            将元素的父节点的下标保存

        孩子表示法(求子节点方便)

            保存子节点的指针域

        双亲孩子表示法(求父节点,求子节点都很方便)

            1,保存父节点下标

            2,保存子节点指针    

        二叉树表示法

            把一个普通树转化成二叉树来存储,

            具体转换方法:

                设法保证任意一个节点的左指针域指向他的第一个孩子,右指针域指向他的兄弟

                只要能满足此条件,就可以将一个普通树转化成二叉树

                一个普通树转化成的二叉树,一定没有右子树。当看到一个二叉树的时候,不一定就真的是一课二叉树,有可能是普通书转化而来。

    森林的存储

        森林的存储和一般树转化二叉树方法是一样的。先把森林转化为二叉树,在存储二叉树

学PHP的小蚂蚁 博客 

转载于:https://my.oschina.net/woshixiaomayi/blog/599095

你可能感兴趣的文章
LVM卷管理及配额设置
查看>>
RHEL7 配置http虚拟主机
查看>>
Xshell连接Linux下Oracle无法回退的解决办法
查看>>
将字符串倒序输出
查看>>
Web开发:我希望得到的编程学习路线图(转)
查看>>
Hive 读取的Column值为NULL?!
查看>>
EXCEL2010粘贴复制技巧
查看>>
Network security CA Server
查看>>
MySQL + MHA + keepalive + VIP 高可用实验
查看>>
使用syslog-ng搭建日志服务器
查看>>
我的友情链接
查看>>
Linux下安装jdk报Permission denied以及chmod详解
查看>>
网页制作设计师如何能说服客户让网站落地
查看>>
PG字符:使用collation设置排序规则
查看>>
Centos7 mariadb-galera-cluster-5.5+HAProxy+keepalived
查看>>
linuxPXE预启动执行环境
查看>>
Python进阶之装饰器
查看>>
如何做好企业级邮件系统的安全防范技术?
查看>>
虚拟化VMware之存储与虚拟主机管理(2)
查看>>
Linux下常用压缩解压缩、打包命令使用演示
查看>>