国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php如何實(shí)現(xiàn)二叉樹的深度計(jì)算(附代碼)

2020-03-22 18:44:42
字體:
供稿:網(wǎng)友
本篇文章給大家?guī)淼膬?nèi)容是關(guān)于php如何實(shí)現(xiàn)二叉樹的深度計(jì)算(附代碼),有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)你有所幫助。

二叉樹的深度:
輸入一棵二叉樹,求該樹的深度。從根結(jié)點(diǎn)到葉結(jié)點(diǎn)依次經(jīng)過的結(jié)點(diǎn)(含根、葉結(jié)點(diǎn))形成樹的一條路徑,最長路徑的長度為樹的深度。

思路:

1.非遞歸層序遍歷
2.使用輔助隊(duì)列,根結(jié)點(diǎn)先入隊(duì)列
3. 循環(huán)判斷隊(duì)列是否為空,如果不為空就繼續(xù)循環(huán)隊(duì)列里面的每個(gè)結(jié)點(diǎn)
4. 循環(huán)隊(duì)列時(shí),當(dāng)前當(dāng)前結(jié)點(diǎn)出隊(duì)列,把該結(jié)點(diǎn)的左右孩子入隊(duì)列

TreeDepth(tree)    if !tree return 0    array_push(queue,tree);    depth=0    while(!empty(queue)){        ++depth        for i=0;i<queue.size;i++            node=array_pop(queue)            array_push(queue,node->left);            array_push(queue,node->right);    return depth
<?phphtml' target='_blank'>class TreeNode{    var $val;    var $left = NULL;    var $right = NULL;    function __construct($val){        $this->val = $val;    }   }function TreeDepth($tree){        if(!$tree) return 0;        $queue=array();        array_push($queue,$tree);//在數(shù)組最后添加元素        $depth=0;        while(!empty($queue)){                $depth++;                $size=count($queue);                    for($i=0;$i<$size;$i++){                        $node=array_shift($queue);//非常重要 刪除第一個(gè)元素                        if($node->left){                                array_push($queue,$node->left);                        }                           if($node->right){                                array_push($queue,$node->right);                        }                   }           }            return $depth;}$node1=new TreeNode(1);$node2=new TreeNode(2);$node3=new TreeNode(3);$node4=new TreeNode(4);$node5=new TreeNode(5);$node6=new TreeNode(6);$node7=new TreeNode(7);$tree=$node1;$node1->left=$node2;$node1->right=$node3;$node2->left=$node4;$node2->right=$node5;$node4->right=$node6;$node3->left=$node7;var_dump($tree);$dep=TreeDepth($tree);var_dump($dep);

以上就是php如何實(shí)現(xiàn)二叉樹的深度計(jì)算(附代碼)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注 其它相關(guān)文章!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阳山县| 林口县| 新野县| 新源县| 浦县| 来凤县| 宁阳县| 和龙市| 饶河县| 小金县| 若尔盖县| 海阳市| 大新县| 大竹县| 夏邑县| 策勒县| 山阳县| 泸定县| 四川省| 婺源县| 卓资县| 冕宁县| 扶余县| 铜川市| 宜黄县| 攀枝花市| 隆回县| 鸡西市| 龙口市| 伊宁县| 涿州市| 三明市| 丰城市| 汕头市| 长宁县| 仁寿县| 红安县| 淮北市| 永登县| 鄂温| 蒲江县|