PHP完全二叉树定义与实现方法示例
发布时间:2020-12-12 22:19:30 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解PHP完全二叉树定义与实现方法。供大家参考研究具体如下: 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 PHP代码实现(暂时实现添加节点、
本篇章节讲解PHP完全二叉树定义与实现方法。分享给大家供大家参考,具体如下: 若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 PHP代码实现(暂时实现添加节点、层次遍历节点,删除节点后续更新) 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);
}
}
}
}
/* 添加节点 */
function addNode($node,$value){
$emptyNode = findEmpytNode($node);
setNode($emptyNode,$value);
}
/* 设置节点 */
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);
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》及《》 希望本文所述对大家PHP程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Php – 尝试将url插入MySQL表
- php – 图像占位符为Broken Image Link?
- SDUTOJ2165 Crack Mathmen(模拟,哈希表,快速幂)
- php – Symfony框架上的OpenSource CMS?
- PHP连接MySQL的2种方法小结以及防止乱码
- php – 使用foreach循环填充数组
- php – 将“零税率”设置为某些自定义预订产品类型
- php – 如何解决,包括文件上传和其他文本输入,在同一页面上
- php – INSERT ON DUPLICATE KEY UPDATE语句的复杂mysql查询
- 通过 Swoole\Table 实现 Swoole 多进程数据共享