|
導讀網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立... 網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。 本篇文章給大家帶來的內容是關于php如何利用遞歸實現二叉樹的創建,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。1.利用遞歸的原理,只不過在原來打印結點的地方,改成了生成結點,給結點賦值的操作 if(ch=='#'){*T=NULL;}else{malloc();(*T)->data=ch;createFunc((*T)->lchild);createFunc((*T)->rchild);}2.前序遍歷:先訪問根結點,前序遍歷左子樹,前序遍歷右子樹;中左右 3.將二叉樹中每個結點的空指針引出一個虛結點,其值為特定值#,處理二叉樹為原二叉樹的擴展二叉樹,擴展二叉樹做到一個遍歷序列確定一棵二叉樹
<?php
class BinTree{
public $data;
public $left;
public $right;
}
//前序遍歷生成二叉樹
function createBinTree(){
$handle=fopen("php://stdin","r");
$e=trim(fgets($handle));
if($e=="#"){
$binTree=null;
}else{
$binTree=new BinTree();
$binTree->data=$e;
$binTree->left=createBinTree();
$binTree->right=createBinTree();
}
return $binTree;
}
$tree=createBinTree();
var_dump($tree);
A
B
#
D
#
#
C
#
#
object(BinTree)#1 (3) {
["data"]=>
string(1) "A"
["left"]=>
object(BinTree)#2 (3) {
["data"]=>
string(1) "B"
["left"]=>
NULL
["right"]=>
object(BinTree)#3 (3) {
["data"]=>
string(1) "D"
["left"]=>
NULL
["right"]=>
NULL
}
}
["right"]=>
object(BinTree)#4 (3) {
["data"]=>
string(1) "C"
["left"]=>
NULL
["right"]=>
NULL
}
}以上就是php如何利用遞歸實現二叉樹的創建的詳細內容,更多請關注php中文網其它相關文章! 網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。 |
溫馨提示:喜歡本站的話,請收藏一下本站!