校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > PHP完全二叉樹定義與實現方法示例

PHP完全二叉樹定義與實現方法示例

熱門標簽:清遠陽山400電話號碼如何申請 襄陽房產電銷機器人招商 施工地圖標注怎么做 個性化地圖標注在線 百度地圖標注飯店位置怎么 安徽移動外呼系統 百度地圖標注名編輯 怎么在高德地圖標注行走軌跡 深圳400電話辦理那家好

本文實例講述了PHP完全二叉樹定義與實現方法。分享給大家供大家參考,具體如下:

若設二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。

PHP代碼實現(暫時實現添加節點、層次遍歷節點,刪除節點后續更新)

?php
class Node{
  public $value;
  public $leftNode;
  public $rightNode;
}
/* 找到空節點 */
function findEmpytNode($node, $parent = null){
  if(empty($node->value)){
    return $node;
  }else{
    if(empty($node->leftNode->value)){
      return $node->leftNode;
    }else if(empty($node->rightNode->value)){
      return $node->rightNode;
    }else{
      if(empty($parent) || $node->value == $parent->rightNode->value){
        return findEmpytNode($node->leftNode, $node);
      }else{
        return findEmpytNode($parent->rightNode, $node);
      }
    }
  }
}
/* 添加節點 */
function addNode($node, $value){
  $emptyNode = findEmpytNode($node);
  setNode($emptyNode, $value);
}
/* 設置節點 */
function setNode($node, $value){
  $node->value = $value;
  $node->leftNode = new Node();
  $node->rightNode = new Node();
}
/* 打印 */
function printTree($node, $parent = null){
  if(empty($node->value)) return ;
  echo $node->leftNode->value;
  echo $node->rightNode->value;
  if(empty($parent) || $node->value == $parent->rightNode->value){
    printTree($node->leftNode, $node);
  }else{
    printTree($parent->rightNode, $node);
  }
}
$head = new Node();
setNode($head, 1);
addNode($head, 2);
addNode($head, 3);
addNode($head, 4);
addNode($head, 5);
addNode($head, 6);
printTree($head);

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數據結構與算法教程》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP排序二叉樹基本功能實現方法示例
  • PHP實現二叉樹深度優先遍歷(前序、中序、后序)和廣度優先遍歷(層次)實例詳解
  • PHP實現從上往下打印二叉樹的方法
  • PHP獲取二叉樹鏡像的方法
  • PHP實現按之字形順序打印二叉樹的方法
  • PHP基于非遞歸算法實現先序、中序及后序遍歷二叉樹操作示例
  • PHP實現判斷二叉樹是否對稱的方法
  • PHP實現繪制二叉樹圖形顯示功能詳解【包括二叉搜索樹、平衡樹及紅黑樹】
  • php實現二叉樹中和為某一值的路徑方法

標簽:延邊 欽州 阜陽 臨夏 南昌 黑河 中衛 駐馬店

巨人網絡通訊聲明:本文標題《PHP完全二叉樹定義與實現方法示例》,本文關鍵詞  PHP,完全,二叉,樹,定義,與,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP完全二叉樹定義與實現方法示例》相關的同類信息!
  • 本頁收集關于PHP完全二叉樹定義與實現方法示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 台北县| 松滋市| 当涂县| 永济市| 河曲县| 利辛县| 叶城县| 江北区| 新乡市| 万载县| 大方县| 泸西县| 虹口区| 内黄县| 梓潼县| 汉寿县| 会同县| 西吉县| 万盛区| 得荣县| 鄂尔多斯市| 庆安县| 灵石县| 花莲市| 南宫市| 松阳县| 兴安县| 北川| 盐池县| 象山县| 江安县| 孝昌县| 织金县| 乌海市| 万全县| 南宫市| 旺苍县| 许昌市| 金乡县| 托克逊县| 增城市|