您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php中关于完全二叉树的定义方法详解

2024/3/27 12:42:04发布27次查看
这篇文章主要介绍了php完全二叉树定义与实现方法,简单描述了完全二叉树的概念并结合实例形式给出了完全二叉树的定义、节点查找、添加、设置、打印等相关操作技巧,需要的朋友可以参考下
本文实例讲述了php完全二叉树定义与实现方法。分享给大家供大家参考,具体如下:
若设二叉树的深度为h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。
php代码实现(暂时实现添加节点、层次遍历节点,删除节点后续更新)
<?php class node{ public $value; public $leftnode; public $rightnode; } /* 找到空节点 */ function findempytnode($node, $parent = null){ if(empty($node->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中关于完全二叉树的定义方法详解的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product