501. 二叉搜索树中的众数 描述: 思路:中序遍历。 503. 下一个更大元素 II 描述: 思路:单调栈。 506. 相对名次 描述: 思路:先拍戏。再替换。 508. 出现次数最多的子树元素和 描述: 思路:后序遍历。否则叶子节点就遍历了很多次。通过hash存《和,次数》 513. 找树左下角 ...
分类:
其他好文 时间:
2020-07-13 13:31:19
阅读次数:
83
给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定的有序链表: [-10, -3, 0, 5, 9], 一个可能的答案是:[0, -3, 9, -10, null, 5], ...
分类:
其他好文 时间:
2020-07-12 12:02:11
阅读次数:
59
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉 ...
分类:
编程语言 时间:
2020-07-12 11:56:25
阅读次数:
58
题目: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。 要求不能创建任何新的节点,只能调整树中节点指针的指向。我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节点。“he ...
分类:
编程语言 时间:
2020-07-11 00:26:16
阅读次数:
74
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和。 例如: 输入: 原始二叉搜索树: 5 / \ 2 13 输出: 转换为累加树: 18 / \ 20 13 O(n) 思路:反序中序遍 ...
分类:
其他好文 时间:
2020-07-09 22:05:47
阅读次数:
73
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 方法一:递归分治 根据二叉搜索树的定义,可以通过递归,判断所有子树的 正确性 (即其后序遍历是否满足二叉搜索树的定义) ,若所有子树都正确,则此序列为 ...
分类:
其他好文 时间:
2020-07-08 15:10:32
阅读次数:
50
###函数接口定义: 函数Insert将X插入二叉搜索树BST并返回结果树的根结点指针; 函数Delete将X从二叉搜索树BST中删除,并返回结果树的根结点指针;如果X不在树中,则打印一行Not Found并返回原树的根结点指针; 函数Find在二叉搜索树BST中找到X,返回该结点的指针;如果找不到 ...
分类:
其他好文 时间:
2020-07-06 16:21:35
阅读次数:
57
对于一般的二叉搜索树,搜索树结点不同插入次序,将导致不同的深度和平均查找长度ASL。甚至在极端的情况下,二叉搜索树会退化称线性的链表,导致插入和查找的复杂度下降到O(n),所以便提出了平衡二叉树的概念。 基本概念 平衡因子(Balance Factor, BF):BF(T)=hL-hR,其中hL、h ...
分类:
其他好文 时间:
2020-07-05 19:17:26
阅读次数:
68
题目信息 时间: 2019-07-04 题目链接:Leetcode tag:二叉搜索树 中序遍历 递归 难易程度:中等 题目描述: 给定一棵二叉搜索树,请找出其中第k大的节点。 示例1: 输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2 输出: 4 示例2 ...
分类:
其他好文 时间:
2020-07-05 17:35:22
阅读次数:
55
一.二叉树 1.满二叉树 高度为h,由2的h次-1个节点构成的二叉树称为满二叉树 2.完全二叉树 高度为h,除第h层外,其它各层节点数都到达最大节点数。且第h层的节点都连续集中在最左边 二.二叉查找树 又称二叉排序树或二叉搜索树。左子树的所有节点值均小于根节点的值,右子树所有节点值均大于根节点的值。 ...
分类:
其他好文 时间:
2020-07-04 20:29:37
阅读次数:
48