线段树

✍ dations ◷ 2025-12-10 06:49:42 #数据结构

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

相关

  • 德国的空中攻势不列颠战役(Battle of Britain),又名英伦空战,是第二次世界大战期间纳粹德国对英国发动的大规模空战,而这次战争亦是第二次世界大战中规模最大的空战,除了英、德两国之外包括同属
  • 南非航空201号班机南非航空201号班机是南非航空一架的来回伦敦希思罗机场至南非奥利弗·坦博国际机场定期航班,1954年4月8日,一架彗星型客机(DH-106型)从罗马前往约翰内斯堡途中于地中海上空爆炸
  • 大屠杀列车纳粹集中营转移营比利时:布伦东克堡垒 · 梅赫伦转移营法国:居尔集中营 · 德朗西集中营意大利:波尔查诺转移营荷兰:阿默斯福特集中营 · 韦斯特博克转移营挪威:法斯塔德集中营部
  • 卡拉恰伊人卡拉恰伊人(卡拉恰伊语:Къарачайлыла,俄语:Карача́евцы)是突厥语民族的一支,主要居住在俄罗斯卡拉恰伊-切尔克斯共和国,少数分布在哈萨克斯坦、土耳其等地
  • 图书管理员图书馆员是负责图书馆运营的专业人员,其工作包括对馆藏资源的采购、加工、描述、流通(借还)、分析报导、点算书籍、盘点书本、检查书籍、把书本排列好次序、上书、帮忙读者寻找
  • 兰卡斯特县兰开斯特县(Lancaster County, Pennsylvania)是美国宾夕法尼亚州东南部的一个县,南邻马里兰州。成立于1729年5月10日。面积2,548平方公里。2005年共有人口490,562。县治兰开斯
  • 柬埔寨参议院民选议员 (58) 指定议员 (4) 柬埔寨参议院(高棉语:ព្រឹទ្ធសភានៃព្រះរាជាណាចក្រកម្ពុជា, Protsaphea)是柬埔寨国会的上院。上一次参议院选
  • 柯尔斯滕·邓斯特柯尔斯滕·卡罗琳·邓斯特(Kirsten Caroline Dunst,1982年4月30日-)是一位美国女演员、歌手和模特儿。她的电影处女作是1989年的多段式电影《大都会传奇》中由伍迪·艾伦执导的
  • 佩普西埃雷乡坐标:58°32′44″N 27°12′53″E / 58.54556°N 27.21472°E / 58.54556; 27.21472佩普西埃雷乡(爱沙尼亚语:Peipsiääre vald),是爱沙尼亚的一个乡,位于该国东南部,由塔尔图县
  • 孔兴燮孔子 (远祖) 孔贞宁 (曾祖父) 孔尚贤 (祖父) 孔尚坦 (本生祖) 孔衍植 (父) 孔兴燮(1636年-1667年),字起吕,号辅垣,山东曲阜人,孔子第六十六代嫡长孙。事母甚孝。获光禄大夫、少保、