您的位置:首页 > 理论基础 > 数据结构算法

数据结构基础之树

2016-02-06 17:18 375 查看


1,一些基本概念

树是n个结点的有限集,n=0时称为空树。在任意一棵非空树中:有而且只有一个特定的称为根(root)的结点;当n>1时,其余结点为m个互相不交的有限集,其中每一个集合又是一棵树,并且成为根的子树。

结点的分类:结点拥有的子树称为结点的度,度为0的结点称为叶结点或终端结点;度不为0的结点称为非终端结点或分支结点。除根结点外,分支结点也称为内部结点。树的度是树内各结点的度的最大值。

结点间的关系:结点的子树的根称为该结点的孩子,该结点称为孩子的父母(parent)。结点的祖先是从根到该结点所经历分支上的所有结点。以某结点为根的子树中的任一结点都称为该结点的子孙。

树的深度:树的层次从根开始定义,根为第一层,然后往下是第二层。树中结点的最大层次称为树的深度。

无序与有序:树中结点的各子树从左到右是有次序而且不能互换的称为有序树,否则称为无序树。

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

2,二叉树

二叉树是n个结点的有限结合,有一个根结点和两棵互不相交的称为左子树和右子树的二叉树组成。

特点:每个结点最多只有两棵子树,没有子树或者只有一棵子树都是可以的;左右子树是有次序

2.1,二叉树分类

斜树:所有的结点都只有左子树叫左斜树,反之叫右斜树。

满二叉树:在一棵二叉树中,所有分支结点都存在左子树和右子树,并且所有叶子都在同一层。

完全二叉树:对一棵二叉树按照层序编号,如果编号为i的结点在二叉树中位置完全相同,则这课二叉树称为完全二叉树

2.2,二叉树的性质

在二叉树的第i层上至多有2^(i-1)个结点

深度为k的二叉树至多有2^(k-1)个结点

具有n个结点的完全二叉树的深度为log_2⁡n+1

顺序存储结构一般只用与完全二叉树
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: