【数据结构——树与二叉树】

   日期:2020-10-30     浏览:173    评论:0    
核心提示:【数据结构——树和二叉树】目录:【数据结构——树和二叉树】一、树和二叉树的定义(一)树的定义(二)基本术语(三)二叉树的定义1、二叉树的定义2、二叉树的基本特点二、二叉树的性质和存储结构(一)二叉树的性质(二)二叉树的存储结构1、顺序存储结构2、链式存储结构一、树和二叉树的定义(一)树的定义树是n个结点的有限集,它或为空树(n=0);或为非空树(二)基本术语(三)二叉树的定义1、二叉树的定义二叉树是n(n>=0)个结点所构成的集合,他或为空树(n=0),或为非空树,对于非空树:

【数据结构——树和二叉树】

目录:

  • 【数据结构——树和二叉树】
  • 一、树和二叉树的定义
    • (一)树的定义
    • (二)基本术语
    • (三)二叉树的定义
      • 1、二叉树的定义
      • 2、二叉树的基本特点
  • 二、二叉树的性质和存储结构
    • (一)二叉树的性质
    • (二)二叉树的存储结构
      • 1、顺序存储结构
      • 2、链式存储结构

一、树和二叉树的定义

(一)树的定义

树是n个结点的有限集,它或为空树(n=0);或为非空树

(二)基本术语



(三)二叉树的定义

1、二叉树的定义

二叉树是n(n>=0)个结点所构成的集合,他或为空树(n=0),或为非空树,对于非空树:T
(1)有且只有一个称之为根的结点;
(2)除根结点之外的其余结点分为两个互不相交的子集T1和T2,分别称为T的左子树和右子树,且T1和T2本身都是二叉树。

2、二叉树的基本特点

(1)结点的度小于等于2;
(2)有序树(子树有左右之分,且其次序不能任意颠倒)

二、二叉树的性质和存储结构

(一)二叉树的性质


满二叉树:一棵深度为K且有2的K次方-1个结点的二叉树。(特点:每层都充满了结点)

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

(二)二叉树的存储结构

1、顺序存储结构

实现:按完全二叉树的结点层次编号,依次存放二叉树中的数据元素。
特点:
(1)结点间关系蕴含在其存储位置中;
(2)浪费空间,适于存满二叉树和完全二叉树。

结点i:
双亲结点:【i/2】
左儿子:2i
右儿子:2i + 1

#define MAXTSIZE 100 //二叉树的最大结点数
typedef TElemType SqBiTree[MAXTSIZE];//0号单元存储根结点
SqBiTree bt;

2、链式存储结构

(1)二叉链表

typedef struct BiNode
{ 
	TElemType data;   //数据域
	struct BiNode* lchild, * rchild;   //左右孩子指针
}BiNode,*BiTree;   //二叉树结点
BiTree root;


在n个结点的二叉链表中,有n+1个空指针域

(2)三叉链表

typedef struct TriTNode
{ 
	TElemType data;   //数据域
	struct TriTNode* lchild,* parent * rchild;   //左右孩子指针
}TriTNode,*TriTree;   //二叉树结点

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服