尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

浅谈 FHQ-Treap

浅谈 FHQ-Treap
📅 发布时间:2026/6/20 6:16:26

本文同步发表在洛谷博客。


什么是 FHQ-Treap?

平衡树上存放两个信息,权值 \(val\) 以及随机索引 \(key\)。值满足二叉搜索树性质,随机值索引满足堆的性质,通过结合二叉搜索树和二叉堆的性质来使树平衡。至于这里用的是大根堆还是小根堆,不重要。

当权值 \(val\) 的数值情况不可控时,如果保证索引 \(key\) 为随机,树的期望深度为 \(\log n\)。

通常的平衡树维护平衡的方法是旋转,而 FHQ-Treap 则是用分裂和合并来实现的。

详解 FHQ-Treap

FHQ-Treap 存放的节点信息

首先,有必不可少的权值 \(val\) 和随即索引 \(key\)。其次为了维护树的结构,肯定要有左节点编号 \(ls\) 以及右节点编号 \(rs\)。当然,为了求排名之类的东西,我们还会维护一个子树大小 \(sz\)。由于要维护的信息较多,这里采用结构体进行维护。

struct FHQ_Trp{int ls,rs,val,key,sz;}tree[N];

FHQ-Treap 的分裂操作

分裂,即 Split,是 FHQ-Treap 中必不可少的一环。

分裂方法有两种:

  1. 按值分裂:把树拆成两棵树,拆出来的一棵树的值全部小于等于给定的值,另外一棵树的值全部大于给定的值。
  2. 按大小分裂:把树拆成两棵树,拆出来的一棵树的值全部等于给定的大小,剩余部分在另外一颗树里。

通常来说,当 FHQ-Treap 作为正常平衡树使用时,采用按值分裂;维护区间信息时,用按大小分裂。

相关新闻

  • 2025 年不锈钢管源头厂家最新推荐排行榜:覆盖焊管、花纹管、菱形管、工业管等品类,结合协会测评数据精选优质品牌
  • SQL优化必备脚本:Oracle获取绑定变量的字面SQL文本
  • 红外热像仪 热成像相机 即插即用多场景适配

最新新闻

  • Anthropic的结构性悖论:最担心AI毁灭世界的人,正在亲手建造它
  • vLLM推理性能优化实战:GPUStack+FLASH_ATTN+EvalScope全栈调优
  • 六安市裕安区生日蛋糕推荐去哪家买?5家热门店铺实测对比 - 速递信息
  • 六安市裕安区生日蛋糕推荐去哪家买?5 家热门店铺实测对比 - 速递信息
  • Windows微信QQ防撤回终极指南:技术实现与完整解决方案
  • 3步上手GCP认证:从零基础到专业认证的学习路线图

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号