• 学习笔记3


    树和二叉树

    树定义:是n(n≥0)个结点的有限集合T。 n=0时(没有结点),称为空树。n>0时,必有一根。其余n-1个结点可以划分成m个根的子树
    一棵树是由若干棵子树构成的。
    每棵树除了根结点以外,每个结点有且仅有一 个直接前驱,但可以有0个或多个直接后继。
    树的多种表示法。

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

    二叉树

    在二叉树中,每个结点至多有2个儿子,并且有 左、右之分。
    位于左边的孩子叫做左孩子 位于右边的孩子叫做右孩子

    二叉树的性质:若二叉树的层次从 1 开始计数, 则,在 二叉树的第 i 层最多有 2 ^(i-1) 个结点。( i >= 1);高度为
    k 的二叉树最多有 2^(k -1) 个结点;具有 n ( n >= 1) 个结点的二叉树的高度最高为n;对任何一棵二叉树, 如果其叶结点有 n0个,
    度为2的结点有 n2 个, 则有 n0=n2+1

    二叉树的存储结构:
    二叉树的顺序存储结构
    二叉树的链式存储结构

    二叉树结点及二叉树的定义:

    typedef struct Node 
    { 
          DataType data; 
          struct Node  *LChild; struct Node *RChild; 
    } Bitnode, *BiTree;
    

    建树

    void CreateBiTree(BiTree *bt) 
    { 
          char ch; 
          ch = getchar(); 
                if(ch=='.') 
                      *bt=NULL; 
                else 
                { 
                      *bt=(BiTree)malloc(sizeof(BiTNode)); 
                            (*bt)->data=ch; 
                      CreateBiTree(&((*bt)->LChild)); //生成左子树 
                      CreateBiTree(&((*bt)->RChild)); //生成右子树 
                } 
    }
    
    
  • 相关阅读:
    奉上简单的.Net后端开发模板
    C#之委托如此简单
    cordova环境搭建
    Linux实现免密码登录
    RHEL7网络管理NetworkManager和nmcli指令
    RHEL7中配置本地YUM软件源
    RHEL7 网口绑定Network Teaming
    Linux工具之top
    Linux工具之ss
    linux工具之lsof
  • 原文地址:https://www.cnblogs.com/bwzh/p/12952593.html
Copyright © 2020-2023  润新知