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

Leetcode Java学习记录——树、二叉树、二叉搜索树

文章目录

  • 树的定义
  • 树的遍历
    • 中序遍历代码
  • 二叉搜索树

常见二维数据结构:树/图

树和图的区别就在于有没有环。

树的定义

public class TreeNode{public int val;public TreeNode left,right;public TreeNode(int val){this.val = val;this.left = null;this.right = null;}
}

树的遍历

前序 中序 后序
根节点所在位置

树天生适合递归。

中序遍历代码

前中后序递归遍历要记牢固。

class Solution {public List<Integer> inorderTraversal(TreeNode root) {List<Integer> res = new ArrayList<>();//注意用ArrayList定义Listinorder(root,res);return res;}void inorder(TreeNode root,List<Integer> list){if(root==null){return;}inorder(root.left,list);list.add(root.val);inorder(root.right,list);}
}

二叉搜索树

即有序二叉树、排序二叉树。
空树属于二叉搜索树
二叉搜索树要满足:

  1. 左子树所有节点的值均小于根节点
  2. 右子树所有节点的值均大于根节点
  3. 有重复性(左右子树也是二叉搜索树)

大多操作均为O(log2n)复杂度。

http://www.lryc.cn/news/397987.html

相关文章:

  • 华为HCIP Datacom H12-821 卷30
  • element el-table实现表格动态增加/删除/编辑表格行,带校验规则
  • QT调节屏幕亮度
  • 实变函数精解【3】
  • JVM:SpringBoot TomcatEmbeddedWebappClassLoader
  • 蜂窝互联网接入:连接世界的无缝体验
  • Sprint Boot 2 核心功能(一)
  • GitLab CI/CD实现项目自动化部署
  • 阿里云调整全球布局关停澳洲云服务器,澳洲服务器市场如何选择稳定可靠的云服务?
  • 排序(二)——快速排序(QuickSort)
  • <数据集>穿越火线cf人物识别数据集<目标检测>
  • a+=1和a=a+1的区别
  • 设计模式使用场景实现示例及优缺点(结构型模式——桥接模式)
  • Spring——自动装配Bean
  • 云端典藏:iCloud中个人收藏品目录的智能存储方案
  • 安全开发基础篇-数据溢出
  • Scanner工具类
  • springboot3 集成GraalVM
  • HumanoidBench——模拟仿人机器人算法有未来
  • 实现前端用户密码重置功能(有源码)
  • 《双流多依赖图神经网络实现精确的癌症生存分析》| 文献速递-基于深度学习的多模态数据分析与生存分析
  • 【Hive SQL 每日一题】在线峰值人数计算
  • 谷粒商城学习笔记-18-快速开发-配置测试微服务基本CRUD功能
  • 机器学习库实战:DL4J与Weka在Java中的应用
  • MongoDB教程(一):Linux系统安装mongoDB详细教程
  • leetcode74. 搜索二维矩阵
  • Redis 布隆过滤器性能对比分析
  • Java List不同实现类的对比
  • 【C语言】 —— 预处理详解(下)
  • Jupyter Notebook简介