最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP完全二叉樹定義與實現(xiàn)方法示例

 更新時間:2017年10月09日 09:50:28   作者:CyborgLin  
這篇文章主要介紹了PHP完全二叉樹定義與實現(xiàn)方法,簡單描述了完全二叉樹的概念并結合實例形式給出了完全二叉樹的定義、節(jié)點查找、添加、設置、打印等相關操作技巧,需要的朋友可以參考下

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

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

PHP代碼實現(xiàn)(暫時實現(xiàn)添加節(jié)點、層次遍歷節(jié)點,刪除節(jié)點后續(xù)更新)

<?php
class Node{
  public $value;
  public $leftNode;
  public $rightNode;
}
/* 找到空節(jié)點 */
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);
      }
    }
  }
}
/* 添加節(jié)點 */
function addNode($node, $value){
  $emptyNode = findEmpytNode($node);
  setNode($emptyNode, $value);
}
/* 設置節(jié)點 */
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相關內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關文章

  • php使用curl詳細解析及問題匯總

    php使用curl詳細解析及問題匯總

    CURL是一個非常強大的開源庫,支持很多協(xié)議,包括HTTP、FTP、TELNET等,我們使用它來發(fā)送HTTP請求。它給我 們帶來的好處是可以通過靈活的選項設置不同的HTTP協(xié)議參數(shù),并且支持HTTPS。CURL可以根據(jù)URL前綴是“HTTP” 還是“HTTPS”自動選擇是否加密發(fā)送內(nèi)容。
    2016-08-08
  • PHP設計模式之解釋器模式淺析

    PHP設計模式之解釋器模式淺析

    解釋器模式,它是什么呢?意思就是,給定一個語言, 定義它的文法的一種表示,并定義一個解釋器,該解釋器使用該表示來解釋語言中的句子,這是最實在的一種說法。我們還可以理解為它是用于分析一個實體的關鍵元素,并且針對每個元素提供自己的解釋或相應動作
    2023-04-04
  • 學習php設計模式 php實現(xiàn)策略模式(strategy)

    學習php設計模式 php實現(xiàn)策略模式(strategy)

    這篇文章主要介紹了php設計模式中的適配器模式,使用php實現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下
    2015-12-12
  • php關聯(lián)數(shù)組快速排序的方法

    php關聯(lián)數(shù)組快速排序的方法

    這篇文章主要介紹了php關聯(lián)數(shù)組快速排序的方法,涉及php數(shù)組排序的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 利用PHP生成靜態(tài)html頁面的原理

    利用PHP生成靜態(tài)html頁面的原理

    現(xiàn)在很多網(wǎng)站系統(tǒng),如dedecms、phpcms、帝國等知名內(nèi)容管理系統(tǒng)都提供生成靜態(tài)頁面的功能,這不光有利于搜索引擎的抓取,而且還能有效降低服務器壓力。對于學習PHP,將要從事WEB網(wǎng)站開發(fā)的朋友們來說,了解這個功能是必須的,下面來分享一下PHP生成靜態(tài)頁面的原理。
    2016-09-09
  • PHP 緩存實現(xiàn)代碼及詳細注釋

    PHP 緩存實現(xiàn)代碼及詳細注釋

    PHP緩存實現(xiàn),實現(xiàn)了apc和文件緩存,繼承Cache_Abstract即可實現(xiàn)調用第三方的緩存工具。參考shindig的緩存類和apc。
    2010-05-05
  • 細談php中SQL注入攻擊與XSS攻擊

    細談php中SQL注入攻擊與XSS攻擊

    通常在編程中程序員要考慮的問題不僅是代碼效率與代碼復用性,而且還要考慮一些安全問題
    2012-06-06
  • php簡單實現(xiàn)短網(wǎng)址(短鏈)還原的方法(測試可用)

    php簡單實現(xiàn)短網(wǎng)址(短鏈)還原的方法(測試可用)

    這篇文章主要介紹了php簡單實現(xiàn)短網(wǎng)址還原的方法,以腳本之家短網(wǎng)址http://t.cn/heEHwk為例介紹了php還原短網(wǎng)址的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下
    2016-05-05
  • PHP實現(xiàn)在線閱讀PDF文件的方法

    PHP實現(xiàn)在線閱讀PDF文件的方法

    這篇文章主要介紹了PHP實現(xiàn)在線閱讀PDF文件的方法,可實現(xiàn)在線讀取并顯示pdf文件的功能,需要的朋友可以參考下
    2015-06-06
  • hadoop中一些常用的命令介紹

    hadoop中一些常用的命令介紹

    本篇文章是對hadoop中一些常用的命令進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論

天峨县| 南丰县| 长岛县| 顺平县| 舟曲县| 云龙县| 青神县| 镇沅| 巴塘县| 南阳市| 怀仁县| 志丹县| 遂昌县| 琼海市| 宜兰县| 龙海市| 永平县| 岚皋县| 额敏县| 宝应县| 永安市| 榕江县| 监利县| 分宜县| 都昌县| 涟水县| 北宁市| 太谷县| 定安县| 蓬莱市| 青岛市| 济阳县| 岫岩| 金塔县| 岳普湖县| 景宁| 尖扎县| 邓州市| 绥滨县| 墨江| 灌云县|