线段树

✍ dations ◷ 2025-10-15 15:10:00 #数据结构

线段树(英语:Segment tree)是一种二叉树形数据结构,1977年由Jon Louis Bentley发明,用以存储区间或线段,并且允许快速查询结构内包含某一点的所有区间。

一个包含 n {\displaystyle n} 个区间的线段树,空间复杂度为 O ( n ) {\displaystyle O(n)} ,查询的时间复杂度则为 O ( log n + k ) {\displaystyle O(\log n+k)} ,其中 k {\displaystyle k} 是符合条件的区间数量。

此数据结构亦可推广到高维度。

本处以一维的线段树为例。

令S是一维线段的集合。将这些线段的端点坐标由小到大排序,令其为 x 1 , x 2 , , x m {\displaystyle x_{1},x_{2},\cdots ,x_{m}} 。我们将被这些端点切分的每一个区间称为“单位区间”(每个端点所在的位置会单独成为一个单位区间),从左到右包含:

线段树的结构为一个二叉树,每个节点都代表一个坐标区间,节点N所代表的区间记为Int(N),则其需符合以下条件:

相关

  • 菌血症菌血症意指血液中出现细菌。正常情形下血液中是无菌的, 如果在血液中发现细菌(最常见是经由血液培养发现),即属异常。本词与败血症不同之处,在于败血症意指针对细菌的宿主反应。
  • 火箭燃料火箭推进器一般以某种形式大量存储在推进器容器里,过去被用来大量从火箭发动机喷射出以流体喷射物的形式,以产生推力作为推进。燃料推进剂往往与氧化剂推进剂燃烧产生大量非常
  • 饮冰室文集《饮冰室文集》是梁启超在(清)光绪二十八年(1902年)自选的文集,以编年体印行,广智书局出版。光绪三十一年(1905年),民国四(1915年)年改为分类体,中华书局出版。民国五年(1916年),收入新民说
  • 拉哈布拉高地拉哈布拉高地(英文:La Habra Heights),是美国加利福尼亚州洛杉矶县下属的一座城市。建市于1978年12月4日,面积 大约为6.16平方英里 (16平方公里)。根据2010年美国人口普查,该市有
  • 齐默尔曼电报齐默尔曼电报(又译齐默尔曼字条、森马门电报、齐默曼电报、司马文电报,德语:Zimmermann-Depesche)是一份由德意志帝国外相阿图尔·齐默尔曼(英语:Arthur Zimmermann)于1917年1月16
  • 力拓河力拓河(西班牙语:Río Tinto,西班牙语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","
  • 舱外活动列表 (2000年至2014年)本列表包含了所有的2000年至2014年之间的太空行走;即所有宇航员完全或部分离开航天器的事件。舱外活动开始及结束时间均为协调世界时(UTC)时区。
  • 1990年国际足联世界杯1990年国际足联世界杯,于1990年在意大利举行。决赛中,西德以 1–0 战胜了阿根廷,第三次捧起了世界杯奖杯。夺得三次冠军和三次亚军的西德队成为当时世界杯比赛中最成功的球队,直
  • Cre-Lox重组Cre-Lox重组是一种用于在细胞DNA的特定位点上进行删除、插入、转座和倒位操作的位点特异性重组酶技术,其特点在于可以让DNA修改对指定的特定细胞群进行,或是使修改过程由特定
  • 阿格拉阿格拉(印地语:आगरा)是位于印度北方邦亚穆纳河畔的一座古老的城市,在1526年至1658年期间一直是莫卧儿帝国的首都。阿格拉是一座旅游城市,拥有三处世界遗产;著名的泰姬玛哈陵和