资讯专栏INFORMATION COLUMN

二叉树的基本运算

dkzwm / 1904人阅读

摘要:这一篇是上一篇二叉树算法之构造的继续查找二叉树中值为的节点求二叉树高度括号表示法输出二叉树

这一篇是上一篇二叉树算法之构造的继续

查找二叉树中值为$value的节点

function FindNode(BTNode $root = NULL, $value) {
    if($root == NULL)
        return NULL;
    else if($root->data == $value)
        return $root;
    else {
        $p = FindNode($root->lchild, $value);
        if($p != NULL)
            return $p;
        return FindNode($p->rchild, $value);
    }

}

求二叉树高度

function BTNodeHeight(BTNode $root = NULL) {
    if(!$root)
        return 0;
    else {
        $lchildH = BTNodeHeight($root->lchild);
        $rchildH = BTNodeHeight($root->rchild);
        return ($lchildH > $rchildH) ? ($lchildH + 1) : ($rchildH + 1);
    }
}

括号表示法输出二叉树

function DispBTNode(BTNode $root = NULL)
{
    if($root) {
        echo $root->data;
        if($root->lchild || $root->rchild) {
            echo "(";
            DispBTNode($root->lchild);
            if($root->rchild) echo ",";
            DispBTNode($root->rchild);
            echo ")";
        }
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23133.html

相关文章

  • 基础数据结构和算法概念

    摘要:数据结构程序数据结构算法数据结构基本概念数据的逻辑结构反映数据元素之间的关系的数据元素集合的表示。这两部分信息组成数据元素的存储映象,称为结点。 本文涉及更多的是概念,代码部分请参考之前写过的 2 篇博客 基于 Javascript 的排序算法 基于 javascript 的基本数据结构和查找算法 本文主要是基础的数据结构和算法概念,可能部分地方会涉及更高级的算法和算法,具体内容以...

    fsmStudy 评论0 收藏0
  • 数据结构与算法:叉树算法

    摘要:因此,根据题目给出的先序遍历和中序遍历,可以画出二叉树选参考数据结构与算法描述实现二叉树算法浅谈数据结构二叉树慕课网实现二叉树算法前端树控件腾讯软件开发面试题 内容衔接上一章 数据结构与算法:常见排序算法 内容提要 什么是树   - 为什么使用树 二叉树 二叉查找树 红黑树 B、B+树 堆 伸展树 树 可以点击链接感受下笔者用d3.js画的tree https://codepen...

    Little_XM 评论0 收藏0
  • 一文掌握关于Java数据结构所有知识点(欢迎一起完善)

    摘要:是栈,它继承于。满二叉树除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树。没有键值相等的节点。这是数据库选用树的最主要原因。 在我们学习Java的时候,很多人会面临我不知道继续学什么或者面试会问什么的尴尬情况(我本人之前就很迷茫)。所以,我决定通过这个开源平台来帮助一些有需要的人,通过下面的内容,你会掌握系统的Java学习以及面试的相关知识。本来是想通过Gitbook的...

    keithxiaoy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<