您好,欢迎访问一九零五行业门户网

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教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息