求二叉樹的高度、結點數和葉結點數


 

1.程序代碼(高度):

  int depth(BinTree t)

  {

    if(t == NULL)

      return 0;

    int dl = depth(t->llink);

    int dr = depth(t->rlink);

    return (dl>dr ? dl : dr)+1;

  }

2.程序代碼(結點數):

  int num_of_nodes(BinTree t)

  {

    if(t == NULL)

      return 0;

    return 1+num_of_nodes(t->llink)+num_of_nodes(t->rlink);

  }

3.程序代碼(葉結點數):

  int num_of_nodes(BinTree t)

  {

    if(t == NULL)

      return 0;

    if(t->llink == NULL && t->rlink == NULL)

      return 1;

    return num_of_nodes(t->llink)+num_of_nodes(t->rlink);

  }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM