码迷,mamicode.com
首页 >  
搜索关键字:根节点    ( 4081个结果
并查集
并查集结构 解决部分节点存在先后顺序的问题。 初始化 把每个点所在集合初始化为其自身。 通常来说,这个步骤在每次使用该数据结构时只需要执行一次,无论何种实现方式,时间复杂度均为O(N)。 查找 查找元素所在的集合,即根节点。 合并 将两个元素所在的集合合并为一个集合。 class UnionFind ...
分类:其他好文   时间:2021-01-19 12:05:28    阅读次数:0
Hard | LeetCOde 124. 二叉树中的最大路径和
124. 二叉树中的最大路径和 路径 被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root ,返回其 最大路径和 。 示例 1: 输入:root = [1,2,3 ...
分类:其他好文   时间:2021-01-19 12:04:37    阅读次数:0
[leetcode刷题]—— 树(递归)
此篇博客主要记录使用递归求解的树相关的算法题。 一、二叉树的最大深度 104. 给定一个二叉树,找出其最大深度。 (easy) 2021-01-13 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null ...
分类:其他好文   时间:2021-01-15 12:07:22    阅读次数:0
【Luogu P4092】[HEOI2016/TJOI2016]树
链接: 题目 题目大意: 一颗树,除根节点外初始都是白点,根节点是黑点。 每次染黑一个结点或者询问一个结点的最近黑色祖先。 \(1\leq n\leq 10^5\) 正文: 可以反着做。就是每次染白一个点。那么设 \(lba_i\) 表示第 \(i\) 点的最近黑色祖先,那么每次染色的时候,就把 \ ...
分类:其他好文   时间:2021-01-11 11:31:00    阅读次数:0
LeetCode_144.二叉树的前序遍历
给你二叉树的根节点 root ,返回它节点值的?前序?遍历。 示例 1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[1 ...
分类:其他好文   时间:2021-01-08 11:19:55    阅读次数:0
用Python实现最大堆
本文的内容是如何通过二叉树实现一个最大堆, 实现原理方面参考了这篇文章. 一. 堆的数据结构 1. 数据结构分析 堆的本质就是一颗二叉树, 这颗二叉树必须具备以下两个性质: 1). 对于最大堆来说, 二叉树根节点的值不小于任何子节点, 其所有子树也符合这一特征, 最小堆则相反; 2). 堆是一颗完全 ...
分类:编程语言   时间:2021-01-06 11:45:46    阅读次数:0
144. 二叉树的前序遍历
144. 二叉树的前序遍历 地址:https://leetcode-cn.com/problems/binary-tree-preorder-traversal/ //给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 // // // // 示例 1: // // //输入:root = ...
分类:其他好文   时间:2021-01-05 11:30:49    阅读次数:0
数据结构之哈夫曼编码
哈夫曼编码是一种变长编码,根据字符频率确定编码的长度。在学习数据结构时,我们知道,通过贪心的策略自底向上构造二叉树,最后得到哈夫曼树。从根节点遍历,便可以得到编码。 本文给出了经典教材《数据结构》一书上算法6.12的具体实现细节。 类型定义 构造二叉树的过程为:初始为全部字符的 \(n\) 个叶子节 ...
分类:其他好文   时间:2020-12-31 12:06:38    阅读次数:0
剑指Offer07.重建二叉树
题目链接:重建二叉树 思路:根据前序和中序的排列规律,在中序遍历时,根节点的左边是左子树结点,右边是右子树结点,而前序遍历中首先出现根结点,紧接着根结点的是左子树结点,然后是右子树结点。所以,我们只需要确定在前序和中序中根结点的位置,通过根结点可以知道左子树和右子树结点的位置,该问题便转化为根据左右 ...
分类:其他好文   时间:2020-12-31 11:57:08    阅读次数:0
LeetCode226. 翻转二叉树
☆☆☆思路:剑指18.二叉树的镜像 方法1:递归。二叉树此类递归问题,要以根节点为目标点进行分析。 思路1:首先分别翻转根节点的左右子树,然后交换左右子树的位置即可。 思路2:也可以先交换左右子树的位置,然后再分别翻转根节点的左右子树。 方法2:BFS层序遍历 层序遍历树的所有节点,然后交换其左右节 ...
分类:其他好文   时间:2020-12-28 11:24:22    阅读次数:0
4081条   上一页 1 ... 4 5 6 7 8 ... 409 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!