数据结构——树

树是树形结构的简称。它是一种重要的非线性数据结构。树或者是一颗空树,即不含有任何结点,或者是一颗非空树,即至少含有一个结点。在一颗非空树中,它有且仅有一个称作“根”的结点,其余所有结点被分为m棵互不相交的子树,每棵子树的根结点是整个树根结点的后继,而整个树根结点又是所有子树根结点的前驱。

结点的度和树的度

每个结点具有的子树数或者说后继结点数被定义为该结点的度。而树的度指的是树中所有结点的度的最大值。

结点的层数和树的深度

结点的层数从树根开始定义,根结点为第1层,它的后继结点为第2层,以此类推。树的深度指的是树中所有结点的最大层数。

有序树和无序树

一棵树的各个结点所处的位置如果是按照一定顺序存储的,则为有序树,否则为无序树。一般而言,为了给树赋予一定的意义和便于管理,树中结点的排列都具有一定的规律或者顺序,因此一般都认为树是有序的。

二叉树

二叉树是指树的度为2的有序树。

满二叉树

满二叉树,指的是树的每一层都是满的,即对于一个深度为m的满二叉树来说,它的第n层具有的结点数为2的n-1次方。

完全二叉树

完全二叉树是从满二叉树延伸出来的,其定义是对于深度为m的,有n个结点的二叉树,当且仅当其每一个结点都与深度为m的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。

特殊二叉树

二叉搜索树

二叉搜索树又称为二叉排序树。二叉排序树的性质是,若左子树非空,则左子树上所有的结点的关键字都小于根结点的关键字,若右子树非空,则右子树上所有结点的关键字均大于等于根结点的关键字。每个子树又都是一颗二叉搜索树。

堆分为小根堆和大根堆。堆是具有特殊性质的完全二叉树。对于小根堆来说,其性质是根结点的关键字小于等于左孩子和右孩子。对于大根堆来说,其性质是根结点的关键字大于等于左孩子和右孩子。以左右孩子为根的子树又各是一个堆。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值