码迷,mamicode.com
首页 >  
搜索关键字:左右子树    ( 865个结果
95. 不同的二叉搜索树 II
用递归即可 因为是二叉搜索树,也就是根大于左子节点,根小于右子节点,这就好办了,对于每个可能的根节点,求出所有左右子树的集合,双循环配对 /** * Definition for a binary tree node. * public class TreeNode { * int val; * T ...
分类:其他好文   时间:2020-05-05 10:57:51    阅读次数:61
剑指offer:平衡二叉树
题意描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 在这里,我们只需要考虑其平衡性,不需要考虑其是不是排序二叉树 解题思路 一、递归 1. 从上向下遍历,求出每个节点的左右子树的深度 2. 根据左右子树的深度差判断是否为AVL树 二、非递归 使用非递归计算每个节点左右子树的深度,根据深度差判断 ...
分类:其他好文   时间:2020-05-05 00:50:56    阅读次数:76
六、二叉树和红黑树
一、二叉查找/搜索/排序树BST (binary search/sort tree) 或者是一棵空树; 或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值; 若它的右子树上所有结点的值均大于它的根节点的值; 它的左、右子树也分别为二叉排序树。 二、平衡二叉树( ...
分类:其他好文   时间:2020-05-04 21:26:00    阅读次数:67
2020.5.4 从前序与中序遍历序列构造二叉树 中等 105
解题思路 1. 看到题目想了想就知道用递归了,不断划分左右子树; 2. 这道题做了很久,因为对 "指针引用" 的不熟悉,一开始我使用的递归函数的返回类型为void,是通过指针作为递归函数的参数,不断更新树,最后改成这种容易看的方式; 3. 主要是要注意划分左右子树的索引,改了很多次都是因为递归时传右 ...
分类:其他好文   时间:2020-05-04 17:32:58    阅读次数:56
XGBoost算法
XGBoost 相比于GBDT 做了两方面的优化: 一是算法本身的优化:在算法的弱学习器模型选择上,对比GBDT只支持决策树,XGBoost 还可以直接很多其他的弱学习器。 在算法的损失函数上,除了本身的损失,XGBoost 还加上了正则化部分,可以防止过拟合,泛化能力更强。 在计算方式上,GBDT... ...
分类:编程语言   时间:2020-05-03 17:02:08    阅读次数:100
【树】面试题 04.02. 最小高度树
题目: 解答: 首先复习下二叉搜索树的定义:对于树中的所有子树都有,左子树上的值都小于根节点的值,右子树上的值都大于根节点上的值。 总结一下就是,树的中序遍历可以得到一个升序序列。 那如何保证高度最小呢?当树中的任意结点的左右子树高度差都不超过 1 时,整棵树的深度最小。 下面是一种构造最小高度树的 ...
分类:其他好文   时间:2020-05-03 16:48:16    阅读次数:59
二叉排序树
二叉排序树 二叉排序树是为了实现数据的有序排列,并可方便的对树中的数据进行插入和删除操作,提高查找效率。 性质: 若它的左子树不为空,则左子树上的所有值均小于根结点的值 若它的右子树不为空,则右子树上的所有值均大于根结点的值 它的左右子树也分别为二叉排序树 下面说说二叉排序树的查找,插入,删除操作实 ...
分类:编程语言   时间:2020-05-02 18:31:34    阅读次数:55
算法--二叉搜索树的python实现
二叉查找树(Binary Search Tree),也称为二叉搜索树、有序二叉树或排序二叉树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左、右子树也分别 ...
分类:编程语言   时间:2020-04-23 18:45:21    阅读次数:59
数据结构与算法之美_25_红黑树(上):为什么工程中都用红黑树这种二叉树?
二叉查找树是最常用的一种二叉树,它支持快速插入、删除、查找操作,各个操作的时间复杂度跟树的高度成正比,理想情况下,时间复杂度是 O(logn)。 不过,二叉查找树在频繁的动态更新过程中,可能会出现数的高度远大于 log2^n 的情况,从而导致各个操作的效率下降。极端情况下,二叉树会退化为链表,时间复 ...
分类:编程语言   时间:2020-04-23 00:21:58    阅读次数:86
【树】翻转二叉树
题目链接:https://leetcode-cn.com/problems/invert-binary-tree/ 思路一:递归 将左右结点进行交换,递归的对左右节点的左右子树进行交换 判断根结点是否为空或只有一个结点 交换根结点的左右儿子 对该结点的左右子树进行交换 1 /** 2 * Defin ...
分类:其他好文   时间:2020-04-22 20:07:19    阅读次数:79
865条   上一页 1 ... 5 6 7 8 9 ... 87 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!