zoukankan      html  css  js  c++  java
  • 学习笔记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)); //生成右子树 
                } 
    }
    
    
  • 相关阅读:
    运用Python计算Π的多少(大致计算)
    运用python绘制小猪佩奇
    博客园使用指南 wiki
    博客园 — 打赏功能
    新SSM框架整合
    springMVC
    Eclipse转IDEA的配置!!
    Java学习小知识总结
    java-StringBuffer
    博客园自定义主题
  • 原文地址:https://www.cnblogs.com/bwzh/p/12952593.html
Copyright © 2011-2022 走看看