树和二叉树

  1. (Tree)是n个结点的有限集;它或为空树(n=0),或为非空树;
  2. 对于非空树:(1)有且仅有一个被称为根的结点;(2)除根结点以外的其余结点可分为m个互不相交的有限集T1、T2等等,其中每个集合又是一颗树,并且称为根的子树(SubTree);
  3. 基本术语:结点、结点的度、树的度、叶子、非终端结点、双亲和孩子、兄弟、祖先、子孙、层次、堂兄弟、树的深度、有序树和无序树、森林。

二叉树

一、二叉树的定义

  1. 二叉树(Binary Tree):只有左子树和右子树;且两子树顺序不能颠倒

二、二叉树的性质

  1. 性质1:二叉树第i层上的结点数目最多为2^{i-1} (i≥1)。
  2. 性质2:深度为k的二叉树至多有2^{k}-1个结点(k≥1)。
  3. 性质3:包含n个结点的完全二叉树的深度为log以2为底的向下取整再+1
  4. 性质4:在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1

三、二叉树的存储结构

  1. 顺序存储结构
    //-----二叉树的顺序存储结构-----
    #define MAXSIZE 100  //二叉树的最大结点数
    typedef TElemType SqBiTree[MAXSIZE];
    SqBiTree bt;

     

  2.  链式存储结构

    //-----二叉树的二叉链表存储表示-----
    typedef struct BitNode
    {
        TElemType data;  //结点数据域
        struct BiTNode *lchild,*rchild;  //左右孩子指针
    }BiTNode,*BiTree;

     

 

四、遍历二叉树和线索二叉树

五:数和森林

六:哈夫曼树及其应用

为什么只写标题呢?

因为我懒的写了。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值