ST算法是一种高效的计算区间最值的方法。

他的思想是将询问区间分解成两个最长的二次幂的长度的区间并集的形式。

所以与线段树不同,这种区间分解其实存在相交的分解。

因此ST算法能维护的只是一些简单的信息,比如区间最值或者区间gcd问题

ST算法的优势:

  • 实现简单(qwq为什么我觉得线段树更好理解)
  • 效率比线段树高

线段树的优势:

  • 可以更好地维护动态的信息,而ST算法不易推广到动态
  • 可以维护更多的信息,而ST算法只能维护最值

考虑到效率问题及实现难度问题,如果需要维护的序列是静态的,并且只需要处理最值,那么ST算法无疑是一种很好的选择。

转载于:https://www.cnblogs.com/Aze-qwq/p/9890816.html

数据结构:线段树及ST算法比较相关推荐

  1. C++SEG TREE线段树的实现算法(附完整源码)

    C++SEG TREE线段树的实现算法( C++SEG TREE线段树的实现算法(完整源码(定义,实现,main函数测试) C++SEG TREE线段树的实现算法(完整源码(定义,实现,main函数测 ...

  2. 数据结构线段树介绍与笔试算法题-LeetCode 307. Range Sum Query - Mutable--Java解法

    此文首发于我的个人博客:zhang0peter的个人博客 LeetCode题解文章分类:LeetCode题解文章集合 LeetCode 所有题目总结:LeetCode 所有题目总结 线段树(Segme ...

  3. RMQ问题(线段树算法,ST算法优化)

    RMQ (Range Minimum/Maximum Query)问题是指: 对于长度为n的数列A,回答若干询问RMQ(A,i,j)(i,j<=n),返回数列A中下标在[i,j]里的最小(大)值 ...

  4. 2017西安交大ACM小学期数据结构 [线段树]

    Problem B+ 发布时间: 2017年7月1日 02:08   最后更新: 2017年7月1日 02:10   时间限制: 1000ms   内存限制: 64M 描述 给定一个长度为n的序列a1 ...

  5. 数据结构 —— 线段树

    [概述] 线段树是一种二叉搜索树,其存储的是一个区间的信息,每个结点以结构体的形式去存储,每个结构体包含三个元素:区间左端点.区间有端点.该区间要维护的信息(视实际情况而定),其基本思想是分治的思想. ...

  6. 数据结构---线段树

    线段树 转载请注明出处,谢谢!http://blog.csdn.net/metalseed/article/details/8039326  持续更新中···   一:线段树基本概念 1:概述 线段树 ...

  7. 高级数据结构 线段树

    线段树 #include<stdio.h> #pragma warning (disabled:4996) #include<malloc.h> //链表实现 typedef ...

  8. 静态树表查找算法及C语言实现,数据结构 静态树表查找算法

    友情提示:此篇文章大约需要阅读 6分钟55秒,不足之处请多指教,感谢您的阅读. 算法思想 在使用查找表中有n个关键字,表中的每个关键字被查找的概率都是1/n.在等概率的情况下,使用折半查找算法最优. ...

  9. 数据结构之树和二叉树算法实现(C语言)

    待我学有所成,结发与蕊可好.@夏瑾墨 开发环境为Dev-C++ 5.11 编译器:MinGW GCC 6.1.0 64-bit 一.算法程序组建目录结构如下: 第一部分:头文件 1. c1.h 2. ...

最新文章

  1. 深入理解iframe
  2. Java_异常_03_ java.lang.NoClassDefFoundError: org/apache/commons/pool/KeyedObjectPoolFactory
  3. c语言清除html标签的方法,去除HTML代码中所有标签的两种方法
  4. android 串口调试工具_树莓派通用串口通信实验
  5. 被夸了几十年,地球都要因为它变秃了,你还天天用它......
  6. 【Docker】docker设置固定ip地址
  7. 团队作业三——项目思考
  8. 三张图较为好理解JavaScript的原型对象与原型链
  9. java俄罗斯方块设计报告_俄罗斯方块JAVA课程设计实验报告毕业设计
  10. scheme 微博_可用App URL Schemes
  11. Python for s60[1_pys60简介]
  12. Steam游戏导入vrPlus中运行
  13. VLAN隔离技术 — 端口隔离
  14. 【Latex学习】在IEEEtran模板中使用algorithm环境
  15. 交替打印A1B2C3-Java多线程实现方式
  16. PerfDog测试安卓模拟器初体验
  17. 关于The C10K problem的一些资料
  18. Velocity模板语言(VTL):说明
  19. “跑路风波”的内在缘由?P2P网络信贷将何去何从?
  20. [Nucleo-F411RE] 第1篇---新建一个工程

热门文章

  1. Vue项目中使用svg文件
  2. ubuntu设置自动休眠
  3. 【转】Android Studio简单设置
  4. 【Cracking the Code Interview(5th edition)】一、数组与字符串(C++)
  5. linux下C/C++ IDE比较 Code::Blocks还是不错的
  6. 客户端命令(docker)
  7. numa节点_鲲鹏性能优化十板斧之前言 | 鲲鹏处理器NUMA简介与性能调优五步法
  8. python爬取正确但不出文件_[求助] Python 爬虫爬取豆瓣_请不要害羞,语法没有报错,但是最终没有得到图片,请各位大神帮我看看,到底哪里出现了问题??急求...
  9. python 全部缩进一行_Python(48)语言参考2:词法分析
  10. git status中文显示乱码