凸包

✍ dations ◷ 2025-01-31 16:45:58 #凸包
在一个实数向量空间 V {displaystyle V} 中,对于给定集合 X {displaystyle X} ,所有包含X的凸集的交集 S {displaystyle S} 被称为 X {displaystyle X} 的凸包。X {displaystyle X} 的凸包可以用 X {displaystyle X} 内所有点 ( x 1 , … , x n ) {displaystyle (x_{1},ldots ,x_{n})} 的线性组合来构造。在二维欧几里得空间中,凸包可想象为一条刚好包着所有点的橡皮圈。逐次将点加入,然后检查之前的点是否在新的凸包上。由于每次都要检查所有之前的点,时间复杂度为 O ( n 2 ) {displaystyle O(n^{2})} 。首先由一点必定在凸包的点开始,例如最左的一点 A 1 {displaystyle A_{1}} 。然后选择 A 2 {displaystyle A_{2}} 点使得所有点都在 A 1 A 2 {displaystyle A_{1}A_{2}} 的右方,这步骤的时间复杂度是 O ( n ) {displaystyle O(n)} ,要比较所有点以 A 1 {displaystyle A_{1}} 为原点的极坐标角度。以 A 2 {displaystyle A_{2}} 为原点,重复这个步骤,依次找到 A 3 , A 4 , . . . , A k , A 1 {displaystyle A_{3},A_{4},...,A_{k},A_{1}} 。这总共有 k {displaystyle k} 步。因此,时间复杂度为 O ( k n ) {displaystyle O(kn)} 。由最底的一点 A 1 {displaystyle A_{1}} 开始(如果有多个这样的点,那么选择最左边的),计算它跟其他各点的连线和x轴正向的角度,按小至大将这些点排序,称它们的对应点为 A 2 , A 3 , . . . , A n {displaystyle A_{2},A_{3},...,A_{n}} 。这里的时间复杂度可达 O ( n log ⁡ n ) {displaystyle O(nlog {n})} 。考虑最小的角度对应的点 A 3 {displaystyle A_{3}} 。若由 A 2 {displaystyle A_{2}} 到 A 3 {displaystyle A_{3}} 的路径相对 A 1 {displaystyle A_{1}} 到 A 2 {displaystyle A_{2}} 的路径是向右转的(可以想象一个人沿 A 1 {displaystyle A_{1}} 走到 A 2 {displaystyle A_{2}} ,他站在 A 2 {displaystyle A_{2}} 时,是向哪边改变方向),表示 A 3 {displaystyle A_{3}} 不可能是凸包上的一点,考虑下一点由 A 2 {displaystyle A_{2}} 到 A 4 {displaystyle A_{4}} 的路径;否则就考虑 A 3 {displaystyle A_{3}} 到 A 4 {displaystyle A_{4}} 的路径是否向右转……直到回到 A 1 {displaystyle A_{1}} 。这个算法的整体时间复杂度是 O ( n log ⁡ n ) {displaystyle O(nlog {n})} ,注意每点只会被考虑一次,而不像Jarvis步进法中会考虑多次。这个算法由葛立恒在1972年发明。它的缺点是不能推广到二维以上的情况。将点按x坐标的值排列,再按y坐标的值排列。选择x坐标为最小值的点,在这些点中找出y坐标的值最大和y坐标的值最小的点。对于x坐标为最大值也是这样处理。将两组点中y坐标值较小的点连起。在这条线段下的点,找出它们之中y坐标值最大的点,又在它们之间找x坐标值再最小和最大的点……如此类推。时间复杂度是 O ( n log ⁡ n ) {displaystyle O(nlog {n})} 。将点集X分成两个不相交子集。求得两者的凸包后,计算这两个凸包的凸包,该凸包就是X的凸包。时间复杂度是 O ( n log ⁡ n ) {displaystyle O(nlog {n})} 。选择最左、最右、最上、最下的点,它们必组成一个凸四边形(或三角形)。这个四边形内的点必定不在凸包上。然后将其余的点按最接近的边分成四部分,再进行快包法(QuickHull)。

相关

  • 肺动脉高压肺高压又称肺动脉高压(Pulmonary hypertension,简称PH或PHTN),是描述肺循环内的压力升高的情形。肺高压会造成呼吸困难、晕眩、昏厥、下肢水肿,肺高压患者会因为心脏负荷增加令运
  • 结构域蛋白质结构域(英语:protein domain)是蛋白质中的一类结构单元,是构成蛋白质(三级)结构的基本单元。有些球形蛋白的一条肽链,或以共价键相连的两条或多条肽链在空间结构上可以区分为
  • 迈锡尼文明迈锡尼文明(英语:Mycenaean Greece 法文: Civilisation mycénne,前1600年 – 前1100年) 是希腊青铜时代晚期的文明,它由伯罗奔尼撒半岛的迈锡尼城而得名。这是古希腊青铜器时代
  • 老年(英语:old age),一般指生物的生命周期一个阶段,即中年到死亡的一段时间不同的文化圈对于老年人有着不同的定义。由于生命的周期是一个渐变的过程,壮年到老年的分界线往往是很
  • 虫瘿瘿(英语:Gall)是指植物组织受到昆虫或其他生物刺激而不正常增生的现象。该刺激可能是昆虫所释放出的化学物质,或是单纯的物理刺激。其他可产生瘿的生物包括真菌、细菌、蜱或是螨
  • 金红光金红光(1957年5月-),黑龙江延寿人,中华人民共和国科学家、中国科学院院士。毕业于东北电力学院动力系。1985年7月,获中国科学院工程热物理研究所硕士,之后供职于中国科学院工程热物
  • 成英姝成英姝(1968年11月16日-),籍贯江苏兴化,出生于台北。台湾作家。毕业于北一女中、国立清华大学化学工程学系,曾任环境工程师、电视节目企划制作、电视节目主持人、编剧、报社总经理
  • 绿色大学绿色大学(英语:green university),其缘由概念是大学对电、石油、天然气、水和化学物质等资源的使用量非常可观,为了减低大学在运作时所产生对环境的不良影响,后来逐渐延伸至发展
  • 鱼石螈鱼石螈(学名Ichthyostega)是一属坚头类,生存于3亿6千5百万至3亿6千万年前的晚泥盆世,是鱼类及两栖类的中间生物,从尾部等体型看类似现代的鲶鱼长了脚。鱼石螈有脚,但却可能不是用
  • 世纪末婚礼《忧郁症》(英语:Melancholia)是一套2011年的末日剧情片,由拉斯·冯·提尔编剧及执导,克斯汀·邓斯特、夏洛特·甘斯柏格、亚历山大·斯卡斯加德和基佛·苏德兰主演。电影围绕着