码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 二叉树的理论知识


    二叉树结点计算方法是:2*k-1,k为深度。

    满二叉树:

    满二叉树
    ​​​​​

    节点都是对称的,每层节点都是满的。

     完全二叉树:

    二叉树的最底层从左至右拥有节点,中间断开就不为完全二叉树了

     断开节点

     满二叉树一定是完全二叉树哦~

    二叉搜索树:

    顾名思义,方便遍历搜索节点的二叉树,遍历的时间复杂度是O(logN)。

    实现左节点小于(大于)根节点

    右节点大于(小于)根节点。

    平衡二叉搜索树:

     定义方式为左右节点的深度绝对值!>=2

    二叉树的存储方式:

     一种是直接使用链表进行存储:

    定义如下:

    1. package shuJuJieGouYuSuanFa.erChaShu;
    2. public class MyErChaShu {
    3. MyErChaShu l;
    4. MyErChaShu r;
    5. int val;
    6. public MyErChaShu() {
    7. }
    8. public MyErChaShu(MyErChaShu l, MyErChaShu r, int val) {
    9. this.l = l;
    10. this.r = r;
    11. this.val = val;
    12. }
    13. public MyErChaShu(int val) {
    14. this.val = val;
    15. }
    16. }

    这是一种比较常见的方式。也是一种令我头疼不已的方式,看见二叉树就开始头疼了!!

    使用数组存储:

    这种方式我认为使用的效率不高,如果不是满二叉树的话,有许多下标对应的位置都是空的,空间利用度差了一点。

    2^(k)-1个空间大小。

    节点的左节点计算方式为:

    2*i+1;

    右节点计算方式:

    2^(h)-1

    二叉树的遍历方式:

    前序遍历:(28条消息) 前序遍历笔记_小肖在路上的博客-CSDN博客

    中序遍历:(28条消息) 中序遍历笔记_小肖在路上的博客-CSDN博客_中序遍历过程 

    后续遍历:我还没写,以后补上~

    其实记遍历有一个技巧:

    前序遍历为:中、左、右

    中序遍历为:左、中、右

    后序遍历为:左、右、中

    发现了吧~~没错!!所谓的前序后续什么什么的,描叙的是根节点“中”的遍历顺序

     

  • 相关阅读:
    kafka本地安装报错
    业务安全五重价值:防攻击、保稳定、助增收、促合规、提升满意度
    「Java开发指南」MyEclipse如何支持Spring Scaffolding?(三)
    QT项目:网络聊天室
    闭包、闭包应用场景
    MySQL中表的增删查改(进阶),超详细!
    前端正则校验
    【yolov5目标检测】使用yolov5训练自己的训练集
    在springboot工程中修改使用quartz创建的定时任务
    DevEco Studio鸿蒙虚拟机
  • 原文地址:https://blog.csdn.net/qx020814/article/details/126172455
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号