32_Python数据结构——树与二叉树

一、树与树算法

1、树的概念

树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。
它具有以下特点:
(1)每个节点有零个或多个子节点
(2)没有父节点的节点称为根结点
(3)每一个非根节点有且只有一个父节点
(4)除了根结点外,每个节点可以分为多个不相交的子树

2、树的术语

节点的度:一个节点含有的子树的个数称为该节点的度
树的度:一棵树中,最大的节点的度称为树的度
叶节点或终端节点:度为零的节点
父亲节点或父节点:若一个节点含有子节点,则称这个节点称为其子节点的父节点
孩子节点或子节点:一个节点含有的子树的根结点称为该结点的子节点
兄弟节点:具有相同父节点的节点互称兄弟节点

节点的层次:从根开始定义起,根为第一层,根的子节点为第二层,以此类推
树的高度或深度:树中节点的最大层次
在这里插入图片描述

3、树的种类

【1】无序树
树中任意节点的子节点之间没有顺序关系,称为无序树,自由树
【2】有序树

树中的任意节点的子节点之间有顺序关系

(1)二叉树
每个节点最多含有两个子树的树
(2)完全二叉树
对于一颗二叉树,假设其深度为d(d>1)。除了第d层外,其他各层的节点数目均以达最大值,且第d层所有节点从左向右连续地紧密排列
其中满二叉树的定义是所有的叶节点都在最底层的完全二叉树
(3)平衡二叉树(AVL树)
当且仅当任何节点的两颗子树的高度差不大于1的二叉树

(4)排序二叉树(二叉查找树)『Binary Search Tree』
又称二叉搜索树,有序二叉树
(5)霍夫曼树(用于信息编码)
带权路径最短的二叉树
(6)B树
一种对读写操作进行优化的自平衡的二叉查找树,能保持数据有序,拥有多余两个子树

4、树的储存与表示

顺序储存:将数据结构储存在固定的数组中,然后在遍历速度上有一定的优势,但因此所占空间比较大,是非主流二叉树。
二叉树通常以链式储存。

链式储存:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值