各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php如何实现二叉树的深度计算(附代码)

管理员 2023-09-05
PHP
123

php如何实现二叉树的深度计算(附代码)

内容导读

收集整理的这篇技术教程文章主要介绍了php如何实现二叉树的深度计算(附代码),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1586字,纯文字阅读大概需要3分钟

内容图文

本篇文章给大家带来的内容是关于php如何实现二叉树的深度计算(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

二叉树的深度:
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

思路:

1.非递归层序遍历
2.使用辅助队列,根结点先入队列
3. 循环判断队列是否为空,如果不为空就继续循环队列里面的每个结点
4. 循环队列时,当前当前结点出队列,把该结点的左右孩子入队列

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
<?phpclass 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);//在数组最后添加元素        $depth=0;        while(!empty($queue)){                $depth++;                $size=count($queue);                    for($i=0;$i<$size;$i++){                        $node=array_shift($queue);//非常重要 删除第一个元素                        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如何实现二叉树的深度计算(附代码)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php如何实现二叉树的深度计算(附代码)全部内容,希望文章能够帮你解决php如何实现二叉树的深度计算(附代码)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

扫码关注

qrcode

QQ交谈

回顶部