树和二叉树

树的定义:

  树(Tree)是n(n>=0)个结点的有限集。

  若n=0,则称空树

  若n>0,则它满足如下两个条件:

    (1)有且只有一个特定的称为根(Root)的结点

    (2)其余结点可分为m(m>0)个互不相交的有限集T1,T2,T3,...,Tm,其中每一个集合本身又是一棵树,并称为根的子树(Sub Tree)。

 树的基本术语:

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

树的度:结点度的最大值

有序树:树中的结点从左到有有次序

森林:m棵不相交的树

 

二叉树的定义:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。

二叉树的抽象数据类型定义:

ADT BinaryTree{

数据对象D:D是具有相同特性的数据元素的集合。

数据关系R:若D空,则R空;

       若D非空,则R={H};H是如下二元关系:

       1.root唯一

                    2.

       .....

       .....

基本操作P:建立二叉树、先序中序后序遍历二叉树

}ADT BinaryTree

满二叉树:深度为K,且有2的K次方减1个结点的二叉树

完全二叉树:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应时,称为完全二叉树。

 

二叉树的存储结构:顺序、链式(二叉链表、三叉链表)

 

二叉树的建立;

ABC##DE#G##F###

 

线索二叉树:

树和森林:

1.双亲表示法

2.孩子链表

3.孩子兄弟表示法

 

posted @ 2022-10-06 16:31  kangobs  阅读(39)  评论(0编辑  收藏  举报