数据结构学习笔记之三(二叉树)

一、树的相关术语

结点:表示树中的元素;

结点的度:结点拥有的子树数;

树的度:一棵树中最大的结点度数;

叶子:度为0的结点;

孩子:一个结点的后驱结点;

双亲:一个结点的前驱结点;

兄弟:同一双亲的孩子;

结点的层次:从根结点开始计算,根为第一层,根的直接后继为第二层,其余各层依次类推;

深度(depth):树中结点的最大层次数;

森林:是m(m≥0)棵互不相交的树的集合;

有序树:树中结点同层内从左到右有次序排列,不能互换的称为有序树。反之称为无序树。

二、二叉树

2.1二叉树的特点

•二叉树的每个结点至多有两个孩子,即不存在度大于2的结点;
•二叉树的子树有明确的左、右之分,不能随意变换。

2.2二叉树的性质

性质一

 二叉树的第i层上最多含有2i-1(i≥1)个结点;

性质二

深度为h的二叉树最多有2h-1个结点(h≥1);

性质三 

若在任何一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则必有n0=n2+1;

性质四

性质五

2.3 特殊形式的二叉树

1、满二叉树

深度为h且含有2h-1个结点的二叉树为满二叉树;

2、完全二叉树

若一棵二叉树除最下层外、其它层构成一满二叉树,且最下层中的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树;

3、平衡二叉树

平衡二叉树又称AVL树,或是一棵空树,或是具有下列性质的树:它的左、右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。
的深度之差的绝对值不超过1。

2.4 树、二叉树和森林之间的转换

2.5 二叉树的存储结构

1、顺序存储;

2、链式存储。

2.6 二叉树的遍历

1、先序遍历

2、中序遍历

3、后序遍历

2.7 二叉排序树

二叉排序树或是空树或是一棵具有如下性质的树:

1) 若它的左子树非空,则左子树中的所有结点的键值都小于根结点的键值;
2) 若它的右子树非空,则右子树中的所有结点的键值都不小于(大于或等于)根结点的键值;
3) 它的左、右子树本身又各是一棵二叉排序树。

2.8 二叉树的建立

2.9二叉树的删除

a.叶子结点,则直接删除;
b.只有一个孩子,则用该孩子直接替代该结点;
c.有两个孩子,则用该结点的左子树中最右边的结点(左子树中最大的元素)代替之。



    原文作者:爱上健身的菇凉
    原文地址: https://blog.csdn.net/XIAXIA__/article/details/8781760
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞