数据结构 线性构造treap treap的线性构造可以使复杂度锐减到$O(n)$,很优秀 treap的本质就是小根堆+二叉搜索树,即保证val满足搜索树的同时,维护rad的小根堆。 现在我们先把数据预处理一下,按val值升序排序。那么我们不必再关系val,专注于rad即可 先考虑一个特殊情况,假如数 ...
分类:
其他好文 时间:
2020-06-29 23:07:14
阅读次数:
105
1 Position Find(BinTree BST, ElementType X) { 2 if (!BST) return NULL;//查找失败 3 if (X > BST->Data) return Find(X, BST->Right);//在右子树中继续 4 else if (X < ...
分类:
其他好文 时间:
2020-06-29 00:32:28
阅读次数:
93
红黑树(Red Black Tree)是一种自平衡的二叉搜索树(Self-balancing Binary Search Tree)。以前也叫做平衡二叉 B 树(Symmetric Binary B-tree)。 预备知识 树的知识框架结构如下图所示: 平衡二叉搜索树 平衡二叉搜索树(Balance ...
分类:
其他好文 时间:
2020-06-28 20:52:04
阅读次数:
53
LeetCode 0700. Search in a Binary Search Tree二叉搜索树中的搜索【Easy】【Python】【二叉树】 Problem LeetCode Given the root node of a binary search tree (BST) and a val ...
分类:
编程语言 时间:
2020-06-28 20:49:28
阅读次数:
61
LeetCode 0450. Delete Node in a BST 删除二叉搜索树中的节点【Medium】【Python】【二叉树】 Problem LeetCode Given a root node reference of a BST and a key, delete the node ...
分类:
编程语言 时间:
2020-06-28 20:37:59
阅读次数:
51
LeetCode 0701. Insert into a Binary Search Tree 二叉搜索树中的插入操作【Medium】【Python】【二叉树】 Problem LeetCode Given the root node of a binary search tree (BST) an ...
分类:
编程语言 时间:
2020-06-28 20:34:28
阅读次数:
44
给定一个整数 n,生成所有由 1 ... n 为节点所组成的 二叉搜索树 。 输入:3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉 ...
分类:
其他好文 时间:
2020-06-27 20:32:43
阅读次数:
68
创建一个二叉搜索树,并且从创建的二叉搜索树中查找是否存在某个值 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, init ...
分类:
编程语言 时间:
2020-06-27 13:30:05
阅读次数:
73
介绍 treap是tree和heap的组合词,说明这种数据结构有树的特点又有堆的特点。本质是一颗二叉搜索树。 treap的结点除了key关键字外还有个priority关键字。treap除了要保证key满足二叉搜索树性质,还要保证当前priority大于等于两个子节点的priority(即堆的性质)。 ...
分类:
其他好文 时间:
2020-06-27 13:10:38
阅读次数:
52
题目链接 1038. 从二叉搜索树到更大和树 题目分析 题目要求我们把大于等于当前结点的值累加起来然后替换掉该结点原来的值。考虑到这是一棵二叉搜索树,我们从右子树开始的中序遍历就是倒序数组。 我们需要一个pre指针指向前一个结点,就可以获得比你大的结点值之和,再加上当前结点的值就可以满足题目。 代码 ...
分类:
其他好文 时间:
2020-06-26 22:10:05
阅读次数:
67