当前位置: 首页 > news >正文

hot 100二叉树算法

二叉树:

  • 数据结构:

    • 满二叉树:
      • 只有度为0和度为2的节点,而且度为0的在同一层;
      • 深度:k,对应节点:2^k - 1【深度从1开始】;
    • 完全二叉树
      • 除了最底层可能没有填满,其余都达到最大值;
      • 最底层也是从左边向右集中,可能包含1 - 2^(k - 1)个节点;
    • 搜索树:
      • 分别对左右子树的大小有限制;
      • 当作一个有序数组处理;
    • 平衡二叉搜索树:
      • 对高度有限制,高度差不超过1;
    • 存储方式
      • 链表【指针,左右指针】
      • 顺序存储【堆,数组】;
    • 遍历方式:
      • 深度优先遍历【前、中、后序遍历,借助栈【递归】】
      • 广度优先遍历【层遍历【空指针标记法】,借助队列【先进先出】】
  • 经典题型:

    • 递归算法:

      1. 递归的参数和返回值;
      2. 终止条件;
      3. 单层递归的逻辑;
    • 根据二叉树的属性

      • 对称性
      • 最大、最小深度
        • 由上到下【前序遍历,由集中走向分支】
        • 由下到上【后序遍历,由分支走向集中】
      • 是否平衡【通过高度差】;
      • 节点数量
      • 找所有路径
      • 左叶子之和【关键点在条件】
      • 左下角的值【由最大深度 + 左叶子】
      • 路径总和;
    • 二叉树的修改和构造:

      • 构造、翻转、合并二叉树
    • 二叉搜索树的属性【当作有序数组处理 or 一般二叉树】

    • 二叉搜索树的修改:

      • 构造、插入、删除、修建
    • 总结:

      • 二叉树的构造,都是前序遍历【从集中到分支】,先构造中间节点;
      • 普通二叉树的属性,都是后序遍历【从分支到集中】,使用返回值做计算;
      • 二叉搜索树的属性,使用中序【不然白瞎了有序性】;
http://www.wuyegushi.com/news/73.html

相关文章:

  • 信号处理__FFT变换
  • LCD显示信号波形
  • 7/26
  • 7.26
  • 盛最多水的容器
  • 练习cf939A. Love Triangle
  • CVE-2023-46604 Apache ActiveMQ 远程代码执行漏洞 (复现)
  • Day26
  • 假期学习
  • 第二十四天
  • 在python虚拟环境中遇到 ​​No module named pip​​ 错误解决方案
  • 从零开始的web前端学习-React
  • tinymce富文本编辑器使用
  • 微软C语言编译器‘strcpy‘: This function or variable may be unsafe. Consider using strcpy_s instead
  • Java学习Day26
  • 线性基(个人学习笔记)
  • 花菖蒲 2025.7.26 模拟赛题解
  • 信任的意外反射:深入解析LLVM循环向量化器中的罕见编译错误
  • P1429 平面最近点对(加强版)[骗分解法]
  • 7.26 - GENGAR
  • P4565 [CTSC2018] 暴力写挂 题解
  • 第十二篇
  • 计算机网络——应用层 - 浪矢
  • 《第一节:跟着符映维学C语言---配置c语言开发环境》
  • 再见,大连
  • 影视软件集合分享
  • 7.26总结
  • geogebra 2 进阶
  • 20250726GF模拟赛
  • java学习