首页 > 其他分享 >平衡树

平衡树

时间:2024-03-29 23:46:45浏览次数:19  
标签:BST 合并 Treap 小根堆 平衡 FHQ

不持续更新。

前置知识

二叉搜索树

又称 BST

其实我也不会

FHQ-Treap 一般使用小根堆。

FHQ-Treap

简述

FHQ-Treap 是一种基于分裂和合并操作的平衡树。它没有旋转,极易上手,非常适合 cainiaoshanglu

核心思想

我们对于一个点存储两个权值 \(a_i, h_i\), 其中 \(a_i\) 满足小根堆性质, \(h_i\) 满足 BST 的性质. 我们可以对于 \(h_i\) 进行随机赋值, 使得期望时间复杂度为 \(\mathcal{O}(\log{n})\) 的.

FHQ-Treap 基于合并与分裂函数, 轻易的实现了 P3369 的六种功能, 即易懂又他妈的好写.

\(\text{Merge}\)

满足 \(h_i\) 来合并.

假设现在两棵树合并到 \(x, y\). 若当前

标签:BST,合并,Treap,小根堆,平衡,FHQ
From: https://www.cnblogs.com/aemmprty/p/18104830

相关文章

  • 代码随想录Day17 ● 110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
     110.平衡二叉树 classSolution{public://返回以该节点为根节点的二叉树的高度,如果不是平衡二叉树了则返回-1intgetHeight(TreeNode*node){if(node==NULL){return0;}intleftHeight=getHeight(node->left......
  • 代码随想录算法训练营第十七天|110.平衡二叉树、257.二叉树的所有路径、404.左叶子之
    文档链接:https://programmercarl.com/LeetCode110.平衡二叉树题目链接:https://leetcode.cn/problems/balanced-binary-tree/思路:这里强调一波概念:二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数......
  • 根号数据结构与根号平衡入门指南
    本文为本人为应付学校科技节写的屑作。写得比较仓促,可能存在不严谨或错误之处,欢迎批评指正。在本文中若无特殊说明,\(n\)表示元素数量,\(m\)表示询问数量,\(V\)表示值域范围为\([1,V]\)。一、分块分块,即将数据划分为多个块,并在操作时对整个块进行整体处理的思想。分块并非一......
  • 二叉搜索树 BST 、平衡二叉查找树 AVL 、红黑树
    看的是LeetCode一位博主的总结,码住,写得不错。二叉查找树AVL树在插入删除操作时对经过的路经节点进行递归平衡(balance方法,核心是判断左右子树之间的树高关系,然后调用对应的单/双旋转方法)。其他部分其实和BST差不多一样的。红黑树......
  • 一道平衡二叉树的求解
    最近在看二叉树的算法,我觉得有点迷迷糊糊,就是那种一看就会,一写就费。我有点很奇怪的感觉,就感觉二叉树的很多问题,其实在于一步一步的遍历(或者称为迭代,或者是递归方法),然后在遍历的基础上进行逻辑(业务)操作。首先在这讲一下递归。递归有三部曲:一.确定函数参数,确定函数的返回值......
  • 代码随想录算法训练营第十七天| 110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶
    110.平衡二叉树https://leetcode.cn/problems/balanced-binary-tree/description/publicbooleanisBalanced(TreeNoderoot){intbalance=balance(root);returnbalance==-1?false:true;}publicintbalance(TreeNodenode){i......
  • 构建不平衡数据集
    chatgpt呆子,不知道怎么构建不平衡数据及,不会递减的构建,长尾人表示心痛琐碎直接给个万能模板importargparseimportrandomfromdata_utilsimport*fromlossimport*importtorch.nnasnnimporttorch.optimasoptimfromtorch.utils.data.samplerimportWeight......
  • 不平衡数据集cifar100训练模型,提取特征保存为mat文件
    主要分两步走,先训练好模型,保存模型,然后再读取模型,保存特征①训练模型,保存模型importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvisionimporttorchvision.transformsastransformsfromtorch.utils.data.samplerimportWeightedRandomSampler......
  • IMBALANCED TARGET DISTRIBUTIONS LEARING(目标类别不平衡学习)
    什么是目标类别不平衡?假设你训练集中数据的目标类别的分布较为均匀,那么这样的数据集所建立的分类模型,通常会有比较好的分类效能。假设你训练集中数据的目标类别的分布不均匀(存在MajorityClass和MinorityClass的时候),那么这样的数据集造成的问题是分类模型通常倾向将所有数据预......
  • 面试中可能问到的几种树结构(二叉树,平衡二叉树,红黑树,B树和B+树)
    二叉树的概念二叉树是一种树形结构,其特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其次序不能任意颠倒。平衡二叉树概念平衡二叉树,是二叉树的一种变形,左子树的深度和右子树的深度不能超过一。红黑树概念红黑树是一种自......