线段树

✍ dations ◷ 2025-08-03 06:26:28 #数据结构

线段树(英语: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),则其需符合以下条件:

相关

  • 煎封煎是常见的烹调方法,指用锅把少量的食用油(烹调用油)加热到摄氏150-200度之间,再把食物放进去,使其熟透。表面会产生美拉德反应而成金黄色乃至微焦,并散发浓烈、特殊的焦香味。
  • 兰尼弗雷夫兰尼弗雷夫(Neferefre)是古埃及第五王朝的法老,大约在前25世纪间在位。现代学者认为他的在位时间只有一至三年。他是内弗尔卡拉和Khentkaus II的儿子,年幼继位,其母曾摄政。他在
  • 欧罗巴龙欧罗巴龙属(属名:Europasaurus)是种原始腕龙科恐龙,属于蜥脚下目,是种四足草食性恐龙。它们生存于侏罗纪启莫里阶的德国北部,地质年代约1亿5400万年前。欧罗巴龙被认为是种因岛屿
  • 己丑狱事1589年的己丑狱事(朝鲜语:기축옥사)是朝鲜王朝历史上最血腥的政治清洗事件之一。这一事件的波及范围之广,甚至超过臭名昭著的“四大士祸”之和。己丑狱事发生于朝鲜宣祖在位之时
  • 德国居民在第二次世界大战的后期及战争结束时候,数百万德意志公民(不论民族或是否与纳粹德国有联系)以及德意志裔人(不论国籍)被迫从其他欧洲国家迁徙回德国。受到影响的范围包括前德意志
  • 莱茵河北部战利品行动(Operation Plunder)是第二次世界大战末期盟军在1945年3月23日晚上开始的一次行动。这次行动是盟军强渡莱茵河的其中一次行动,目的是要在德国的里斯、威塞尔及利珀运
  • NBA年度第二队NBA最佳阵容(All-NBA Team)是NBA每年颁奖的荣誉之一,用来表彰当季联盟表现最好的运动员,由美国和加拿大的体育记者和主持人投票选出。NBA最佳阵容于1946年设立,每个赛季选拔一次
  • 铁托主义铁托主义(塞尔维亚语:Titoizam;英语:Titoism)是以南斯拉夫社会主义联邦共和国总统约瑟普·布罗兹·铁托命名的一种社会主义政治思想体系。铁托主义起源于第二次世界大战之后,由铁
  • 夏仁德夏仁德(Randolph C. Sailer,1898年8月24日-1981年7月11日)美北长老会在华传教士,美国心理学家。1898年8月24日,夏仁德出生于美国费城。父母是虔诚基督徒,年幼接受基督教教育。1919
  • 争取变革运动争取变革运动(希腊语:Κίνημα Αλλαγής,转写:Kinima Allagis,缩写为ΚΙΝΑΛ),是希腊的一个政党联盟。该联盟成立于2018年3月16日-18日,创始成员有泛希腊社会主义运动、