线段树

✍ dations ◷ 2025-06-29 12:27:55 #数据结构

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

相关

  • 1940年1940年美国人口普查(英语:1940 United States Census)是美国历史上第16次全国人口普查,确定了美国的常住人口为131,669,275人,相比1930年美国人口普查,同比增长为7.3%。1940年的人
  • 冰川时期大冰期(英语:Ice Age),又称“冰川期”或“冰川期”,是指地球大气和地表长期低温导致极地和山地冰盖大幅扩展甚至覆盖整个大陆的时期。大冰期内部又分为几次冰期(glacial period、g
  • 语言地理学语言地理学(英文:linguistic geography)是人文地理学或是语言学下的一个分支,主要研究语言的地理变异和语言变体的空间分布。广义的语言地理学包括了地理语言学。当研究的目标为
  • 狄拉克符号狄拉克符号或狄拉克标记(英语:Dirac notation)是量子力学中广泛应用于描述量子态的一套标准符号系统。在这套系统中,每一个量子态都被描述为希尔伯特空间中的态矢量,定义为右矢(ke
  • 面包历史面包至少有3万年的历史。第一个面包很可能是偶然情况下弄熟的谷物面糊,也可能是史前人类用早期面粉和水做实验的结果。类似的面饼现在还能在世界各地找到,制作面饼的材料可以
  • 菱形九十面体菱形九十面体是一种凸多面体,属于环带多面体,是截半截角二十面体的对偶多面体;菱形九十面体共有90个菱形面,顶点有三种,分别为3个菱形的顶点、5个菱形的顶点和6个菱形的顶点。组
  • 绍剧绍剧,又名绍兴大班、绍兴乱弹,中国戏曲剧种之一,流行于绍兴周边地区。绍剧的猴戏也较为著名。一般认为可能源源于秦腔,大约在明末清初形成于绍兴一带;乾隆年间较为流行。乐器以板
  • 太平林场组太平林场组是位于中国黑龙江嘉荫县一带的上白垩世地层,1979年由马万昌命名。该地层以灰色泥岩、粉砂岩、细粒长石砂岩为主,间夹中粗粒长石砂岩、紫红色泥岩等。
  • 株萍铁路局株萍铁路局是位于湖南醴陵的一个铁路局。光绪三十一年(1905年)株萍铁路醴陵至株州段线路竣工通车,在湖南醴陵阳三石设萍潭铁路管理局,1920年6月,湖南和江西两省协商决定将株萍铁
  • 巫姓巫姓是一个中文姓氏,在《百家姓》中排第220位。巫姓的起源传说,主要有三个:广东省梅州台湾彰化县溪湖一带