国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 宁都县| 南开区| 剑河县| 凤庆县| 中山市| 杭州市| 呼图壁县| 义马市| 马尔康县| 绥化市| 克东县| 韶山市| 伊通| 大邑县| 绍兴县| 宜兰市| 通许县| 潞西市| 灌云县| 连平县| 西盟| 吉木萨尔县| 三台县| 连山| 黄平县| 惠水县| 惠东县| 汉川市| 瑞昌市| 逊克县| 林西县| 汝阳县| 山东| 田林县| 汾西县| 日照市| 宜阳县| 永嘉县| 景德镇市| 灯塔市| 信丰县|