二叉树

老鼠只爱大米3 小时前
算法·leetcode·二叉树·lca·并查集·最近公共祖先·rmq
LeetCode经典算法面试题 #236:二叉树的最近公共祖先(RMQ转化、Tarjan离线算法等五种实现方案详细解析)给定一棵二叉树,找到该树中两个指定节点的最近公共祖先(Lowest Common Ancestor, LCA)。
2401_841495647 小时前
数据结构·python·算法·leetcode·二叉树··递归
【LeetCode刷题】对称二叉树给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:示例 2:提示:判断二叉树是否轴对称的核心是判断左右子树是否镜像对称,满足以下条件:
老鼠只爱大米1 天前
算法·leetcode·二叉树·原地算法·morris遍历·二叉树展开
LeetCode经典算法面试题 #114:二叉树展开为链表(递归、迭代、Morris等多种实现方案详细解析)给你二叉树的根结点 root ,请你将它展开为一个单链表:示例 1:示例 2:示例 3:提示:进阶: 你可以使用原地算法(O(1) 额外空间)展开这棵树吗?
老鼠只爱大米1 天前
算法·leetcode·二叉树·分治算法·前序遍历·迭代法·二叉树构造
LeetCode经典算法面试题 #105:从前序与中序遍历序列构造二叉树(分治递归法、栈辅助迭代法等五种实现方案详细解析)给定两个整数数组 preorder 和 inorder,其中 preorder 是二叉树的前序遍历序列,inorder 是同一棵树的中序遍历序列。要求构造出原始的二叉树并返回其根节点。
珍珠是蚌的眼泪2 天前
leetcode·二叉树·层序遍历·前序遍历·中序遍历·后续遍历
LeetCode_二叉树1进阶二叉树算法题请点击LeetCode_二叉树2什么时候递归函数前面加if,什么时候不加if?一般情况来说:如果让空节点(空指针)进入递归,就不加if,如果不让空节点进入递归,就加if限制一下, 终止条件也会相应的调整。
老鼠只爱大米2 天前
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·右视图
LeetCode经典算法面试题 #199:二叉树的右视图(BFS双队列法、DFS递归法等多种实现方案详细解析)给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
皮皮哎哟2 天前
c语言·数据结构·算法·二叉树·队列
数据结构:从队列到二叉树基础解析这章讲解了队列的知识,树形结构的基本概念,以及二叉树的基础部分以及相关的概念,例如根据前序和中序,计算后序等
划破黑暗的第一缕曙光2 天前
c语言·数据结构·二叉树
[数据结构]:6.二叉树链式结构的实现2嗨,我是firdawn,本章将使用二叉树的OJ题来帮大家巩固二叉树的遍历,查找操作,以及教大家学会任何通过递归方式实现二叉树的查找值,判断两棵树是否相同,一颗树是否是另一棵树的子树以及二叉树的创建操作。下面是本章的思维导图,那么让我们开始吧!
老鼠只爱大米4 天前
算法·leetcode·二叉树·二叉搜索树·平衡树·分治法
LeetCode经典算法面试题 #108:将有序数组转换为二叉搜索树(递归分治、迭代法等多种实现方案详解)给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。示例 1:
老鼠只爱大米5 天前
算法·leetcode·二叉树·递归·二叉搜索树·迭代
LeetCode经典算法面试题 #98:验证二叉搜索树(递归法、迭代法等五种实现方案详解)给你一个二叉树的根节点 root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:示例 1:
划破黑暗的第一缕曙光5 天前
c语言·数据结构·二叉树·
[数据结构]:4.二叉树_堆嗨,我是firdawn,本章将简单介绍,树,二叉树,满二叉树的概念,以及堆的实现和相关应用。下面的图是本章的思维导图,那么,让我们开始吧!
老鼠只爱大米5 天前
算法·leetcode·二叉树·二叉树遍历·深度优先搜索·二叉树直径
LeetCode经典算法面试题 #543:二叉树的直径(深度优先搜索、迭代后续遍历等多种实现方案详细解析)给你一棵二叉树的根节点,返回该树的 直径。二叉树的 直径 是指树中任意两个节点之间最长路径的 长度。这条路径可能经过也可能不经过根节点 root。
少许极端6 天前
算法·二叉树·dfs
算法奇妙屋(二十六)-二叉树的深度搜索问题依旧是递归三部曲最重要的是二叉搜索树的定义, 以及空树也是二叉搜索树第k小的数, 就是中序遍历后第k个数
老鼠只爱大米7 天前
算法·leetcode·二叉树·dfs·bfs·深度优先搜索·广度优先搜索
LeetCode经典算法面试题 #104:二叉树的最大深度(深度优先搜索、广度优先搜索等多种实现方案详细解析)给定一个二叉树 root,返回其最大深度。二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。
西瓜泡泡奶13 天前
数据结构·算法·二叉树·平衡二叉树·完全二叉树·二叉树路径·左叶子之和
代码随想录算法Day13|(二叉树part3)110.平衡二叉树、257. 二叉树的所有路径、404.左叶子之和、222.完全二叉树的节点个数目录110.平衡二叉树257. 二叉树的所有路径404.左叶子之和222.完全二叉树的节点个数题目链接:https://leetcode.cn/problems/balanced-binary-tree/description/
好评12415 天前
数据结构·c++·二叉树·二叉搜索树
【C++】二叉搜索树(BST):从原理到实现二叉搜索树(BST)以“左小右大”的有序性约束组织数据,使查找、插入、删除可在树高范围内完成。本文系统梳理 BST的定义与中序有序性、性能与树高的关系、插入/查找/删除的关键边界处理,并给出 key 与 key/value 两套 C++模板实现,实现把规则、指针操作与可运行代码建立明确对应。
程序员-King.15 天前
算法·leetcode·二叉树
day150—数组—二叉树的锯齿形层序遍历(LeetCode-103)给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
程序员-King.16 天前
算法·leetcode·二叉树·双端队列·队列
day151—双端队列—找树左下角的值(LeetCode-513)给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。假设二叉树中至少有一个节点。
程序员-King.17 天前
数据结构·算法·leetcode·二叉树·递归
day143—递归—对称二叉树(LeetCode-101)给你一个二叉树的根节点 root , 检查它是否轴对称。示例 1:示例 2:提示:这段代码的核心功能是判断一棵二叉树是否为对称二叉树(即二叉树的左子树和右子树互为镜像),复用了 “判断两棵树是否相同” 的逻辑,将 “对称判断” 转化为 “左子树与右子树是否镜像相同”,采用递归实现,时间复杂度 O(n)(n 为节点数),空间复杂度 O(h)(h 为树的高度),是该问题的经典简洁解法。
程序员-King.17 天前
算法·leetcode·二叉树·递归
day144—递归—平衡二叉树(LeetCode-110)给定一个二叉树,判断它是否是 平衡二叉树示例 1:示例 2:示例 3:提示:这段代码的核心功能是判断一棵二叉树是否为平衡二叉树(即每个节点的左右子树高度差的绝对值不超过 1),采用「后序遍历 + 递归剪枝」的思路实现,在计算子树高度的同时校验平衡条件,时间复杂度 O(n)(n 为节点数),空间复杂度 O(h)(h 为树的高度),是该问题的最优解法。