PHP完全二叉樹定義與實現(xiàn)方法示例
本文實例講述了PHP完全二叉樹定義與實現(xiàn)方法。分享給大家供大家參考,具體如下:
若設(shè)二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結(jié)點數(shù)都達到最大個數(shù),第 h 層所有的結(jié)點都連續(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);
}
/* 設(shè)置節(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);
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
學(xué)習(xí)php設(shè)計模式 php實現(xiàn)策略模式(strategy)
這篇文章主要介紹了php設(shè)計模式中的適配器模式,使用php實現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下2015-12-12
php關(guān)聯(lián)數(shù)組快速排序的方法
這篇文章主要介紹了php關(guān)聯(lián)數(shù)組快速排序的方法,涉及php數(shù)組排序的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04
php簡單實現(xiàn)短網(wǎng)址(短鏈)還原的方法(測試可用)
這篇文章主要介紹了php簡單實現(xiàn)短網(wǎng)址還原的方法,以腳本之家短網(wǎng)址http://t.cn/heEHwk為例介紹了php還原短網(wǎng)址的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下2016-05-05

