二叉树判断

简介: 二叉树判断

Binary tree judgment

判断完全二叉树

思路

使用层序遍历的思想

  • 遇到节点左为空且右不为空,则不是
  • 遇到一个叶子节点,其后必全是叶子节点,否则不是

实现

bool isCBT(Node* root)
{
    if(root != null)
    {
        queue<Node*> Nodeque;
        Nodeque.push(root);
        bool leaf = false;
        while(!Nodeque.empty())
        {
            Node* Front = Nodeque.front();
            Nodeque.pop();
            /******遇到子节点后,后续必全是子节点******/
            if(leaf && (Front->left != null || Front->right != null))
            {
                return false;
            }
            /******左为空,又不为空,不是完全二叉树******/
            if(Front->left == null&&Front->right != null)
            {
                return false;
            }
            if(Front->left) Nodeque.push(Front->left);
            if(Front->right) Nodeque.push(Front->right);
            /******遇到第一个子节点******/
            if(!Front->left && !Front->right) leaf = true;
        }
    }
    return true;
}


判断搜索二叉树

数据

使用preValue表示左子树最后处理的数

思路

实现

static int preValue = -1;
bool isSBT(Node* root)
{
    if(root == null) return true;
    bool isSBTleft = isSBT(root->left);
    if(!isSBTleft) return false;
    if(root->value <= preValue) return false;
    preValue = root->value;
    return isSBT(root->right);
}

总结

需要结合这两种二叉树的特性进行判断,考验对其结构的理解

目录
相关文章
|
Java
微信红包的模拟代码
微信红包的模拟代码
215 1
|
7月前
|
人工智能 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 7.4 应用实践之 AI大模型外脑
PolarDB向量数据库插件通过实现通义大模型AI的外脑,解决了通用大模型无法触达私有知识库和产生幻觉的问题。该插件允许用户将新发现的知识和未训练的私有知识分段并转换为向量,存储在向量数据库中,并创建索引以加速相似搜索。当用户提问时,系统将问题向量化并与数据库中的向量进行匹配,找到最相似的内容发送给大模型,从而提高回答的准确性和相关性。此外,PolarDB支持多种编程语言接口,如Python,使数据库具备内置AI能力,极大提升了数据处理和分析的效率。
301 4
|
开发工具 git
08-git-打标签(tag)
08-git-打标签(tag)
|
12天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1275 5
|
2天前
|
存储 关系型数据库 分布式数据库
PostgreSQL 18 发布,快来 PolarDB 尝鲜!
PostgreSQL 18 发布,PolarDB for PostgreSQL 全面兼容。新版本支持异步I/O、UUIDv7、虚拟生成列、逻辑复制增强及OAuth认证,显著提升性能与安全。PolarDB-PG 18 支持存算分离架构,融合海量弹性存储与极致计算性能,搭配丰富插件生态,为企业提供高效、稳定、灵活的云数据库解决方案,助力企业数字化转型如虎添翼!
|
11天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1291 87