Knowledge

Chan's algorithm

Source 📝

20: 2983: 6005: 2707: 2738: 8586:
With the above idea, the dominant cost of algorithm lies in the pre-processing, i.e., the computation of the convex hulls of the groups. To reduce this cost, we may consider reusing hulls computed from the previous iteration and merging them as the group size is
5817: 8011: 2517: 7631: 2978:{\displaystyle \sum _{t=0}^{\lceil \log \log h\rceil }O\left(n\log \left(2^{2^{t}}\right)\right)=O(n)\sum _{t=0}^{\lceil \log \log h\rceil }2^{t}=O\left(n\cdot 2^{1+\lceil \log \log h\rceil }\right)=O(n\log h).} 6119: 5004: 4889: 3031:
algorithm to compute the 3-dimensional convex hull by Preparata and Hong should be used instead of Graham scan, and a 3-dimensional version of Jarvis's march needs to be used. The time complexity remains
4319: 4604: 7739: 4719: 7092: 1695: 2468: 6763: 6581: 6362: 8331: 7788: 7040: 6986: 3078:
In the following pseudocode, text between parentheses and in italic are comments. To fully understand the following pseudocode, it is recommended that the reader is already familiar with
877: 4373: 7412: 7131: 5278: 6000:{\displaystyle {\mathcal {O}}(mK\log m)={\mathcal {O}}(m\left\lceil {\frac {n}{m}}\right\rceil \log m)={\mathcal {O}}(n\log m)={\mathcal {O}}(n\log 2^{2^{t}})={\mathcal {O}}(n2^{t}).} 5411: 5352: 4811: 2337: 5137: 4201: 3855: 7314: 7275: 6904: 5803: 3415: 951: 578: 3615: 511: 5485: 1230: 1106: 5648: 3808: 3323: 8509: 8393: 8140: 4151: 2509: 1521: 1433: 6821: 6157: 5042: 4530: 4416: 1169: 6042: 4927: 3892: 1874: 8796: 8753: 8715: 6937: 3068: 3029: 2215: 2154: 2033: 1912: 1621: 1579: 736: 259: 181: 123: 1468: 641: 8463: 8227: 8061: 7816: 7184: 6452: 4265: 4060: 3744: 1263: 428: 8535: 5739: 2092: 8254: 8088: 7439: 6499: 6414: 6222: 5196: 5169: 5095: 4481: 4004: 3535: 3483: 3451: 1364: 1337: 1290: 1005: 978: 698: 671: 221: 8630: 1773: 1744: 809: 8189: 7345: 362: 8816: 8670: 8650: 8560: 8430: 8163: 7808: 7484: 7459: 7151: 6783: 6686: 6661: 6641: 6621: 6601: 6472: 6387: 6285: 6265: 6195: 5759: 5713: 5693: 5668: 5604: 5579: 5554: 5525: 5505: 5444: 5068: 4752: 4624: 4563: 4449: 4227: 4105: 4080: 4029: 3977: 3957: 3937: 3912: 3764: 3713: 3693: 3664: 3644: 3559: 3503: 3343: 3285: 3265: 3237: 3217: 3197: 3171: 3151: 3124: 3104: 2730: 2409: 2389: 2369: 2275: 2255: 2235: 2177: 2112: 2066: 1995: 1972: 1952: 1932: 1833: 1813: 1793: 1715: 1541: 1384: 1310: 1126: 1045: 1025: 780: 760: 598: 471: 448: 402: 382: 336: 316: 296: 143: 85: 65: 2702:{\displaystyle m=2^{2^{t}}\geq h\iff \log \left(2^{2^{t}}\right)\geq \log h\iff 2^{t}\geq \log h\iff \log {2^{t}}\geq \log {\log h}\iff t\geq \log {\log h},} 8760:
Constructing output sensitive algorithms for higher dimensional convex hulls. With the use of grouping points and using efficient data structures,
8580:
When computing the convex hulls of the subsets, eliminate the points that are not in the convex hull from consideration in subsequent executions.
7492: 8583:
The convex hulls of larger point sets can be obtained by merging previously calculated convex hulls, instead of recomputing from scratch.
6047: 4932: 8596:
Chan's paper contains some other problems whose known algorithms can be made optimal output sensitive using his technique, for example:
265:, and it naturally extends to 3-dimensional space. This paradigm has been independently developed by Frank Nielsen in his Ph.D. thesis. 4821: 2237:
increases too slowly between passes, the number of iterations may be large; on the other hand, if it rises too quickly, the first
4270: 4568: 8905: 7655: 1746:
which is negligible compared to the computation for all subsets. Jarvis's march completes when the process has been repeated
8942: 8857: 4632: 384:, the number of vertices in the output convex hull, is not known at the start. Multiple passes with increasing values of 7045: 1626: 2414: 8576:
Chan's paper contains several suggestions that may improve the practical performance of the algorithm, for example:
6691: 6509: 6290: 23:
A 2D demo for Chan's algorithm. Note however that the algorithm divides the points arbitrarily, not by x-coordinate.
8951: 8265: 262: 7744: 6996: 6942: 814: 9015: 4329: 7350: 7097: 5204: 8982: 5357: 5298: 4757: 2280: 5100: 4162: 3818: 7280: 7203: 6832: 5769: 3351: 889: 516: 5766:(In this modified version of Jarvis march, we perform an operation inside the innermost loop which takes 3572: 476: 145:
is the number of vertices of the output (the convex hull). In the planar case, the algorithm combines an
5454: 1174: 1050: 5614: 5533: 3774: 3295: 40: 8468: 8344: 8099: 4326:
If the "doubling scheme" is used, though, the resulting time complexity of this Chan's algorithm is
4110: 2473: 1477: 1389: 6794: 6130: 5015: 4487: 4381: 1131: 6014: 4899: 3865: 3083: 2115: 1838: 883: 8763: 8720: 8682: 8006:{\displaystyle p_{i+1}:=JARVIS\_NEXT\_CH\_POINT(p_{i-1},p_{i},(q_{i,1},q_{i,2},\dots ,q_{i,K}))} 6909: 3035: 2996: 2182: 2121: 2000: 1879: 1584: 1546: 703: 226: 148: 90: 8886:
Nielsen, Frank (2000). "Grouping and Querying: A Paradigm to Get Output-Sensitive Algorithms".
8828: 1438: 28: 8980:
Hershberger, John (1989). "Finding the upper envelope of n line segments in O(n log n) time".
603: 8435: 8199: 8033: 7156: 6424: 4237: 4039: 3723: 1623:
using the same technique as normally used in Jarvis's march, but only considering the points
1235: 407: 8514: 5718: 2071: 8232: 8066: 7417: 6477: 6392: 6200: 5174: 5147: 5073: 4457: 3982: 3513: 3461: 3429: 2391:(corresponding to a partition in singleton sets). Starting from a value of 2, at iteration 1342: 1315: 1268: 983: 956: 676: 649: 194: 8606: 4229:
for the current iteration. A "squaring scheme" is used as described above in this article.
3566:(For more info, see the comments close to the corresponding part of the Chan's algorithm.) 1749: 1720: 785: 8: 8168: 7324: 341: 8801: 8655: 8635: 8545: 8415: 8148: 7793: 7469: 7444: 7136: 6768: 6671: 6646: 6626: 6606: 6586: 6457: 6372: 6270: 6250: 6180: 5744: 5698: 5678: 5653: 5589: 5564: 5539: 5510: 5490: 5429: 5053: 4737: 4609: 4548: 4434: 4212: 4090: 4065: 4014: 3962: 3942: 3922: 3897: 3749: 3698: 3678: 3649: 3629: 3544: 3488: 3328: 3270: 3250: 3222: 3202: 3182: 3156: 3136: 3109: 3089: 2715: 2394: 2374: 2354: 2260: 2240: 2220: 2162: 2097: 2051: 1980: 1957: 1937: 1917: 1818: 1798: 1778: 1700: 1526: 1369: 1295: 1111: 1030: 1010: 765: 745: 583: 456: 433: 387: 367: 321: 301: 281: 128: 70: 50: 8995: 8965: 8946: 8901: 7192: 8991: 8960: 8938: 8891: 8866: 1386:
points (listed in a clockwise or counter-clockwise order), which allows to compute
8896: 36: 8601: 4431:(Initialize an empty list (or array) to store the points of the convex hull of 2159:
The idea is to make multiple passes of the algorithm with increasing values of
2156:
time will have been spent, and the convex hull will not have been calculated.
1027:
with the lowest y coordinate, which is guaranteed to be in the convex hull of
9009: 8947:"Derandomizing an output-sensitive convex hull algorithm in three dimensions" 8853:"Optimal output-sensitive convex hull algorithms in two and three dimensions" 1471: 8030:(Jarvis march terminates when the next selected point on the convext hull, 188: 4087:(For more info, see the Jarvis march part of this algorithm below, where 3079: 739: 184: 44: 8672:
line segments, which is defined as the lower boundary of the unbounded
2257:
for which the algorithm terminates successfully may be much larger than
8890:. Lecture Notes in Computer Science. Vol. 1763. pp. 250–257. 8871: 8852: 3862:(As explained above in this article, a strategy is used where at most 2511:
iterations are made, given that the algorithm terminates once we have
261:
time. Chan's algorithm is notable because it is much simpler than the
8673: 2118:
as running it to the end would take too much time. At that moment, a
16:
Algorithm for finding the convex hull of a set of points in the plane
8921: 7626:{\displaystyle q_{i,k}:=JARVIS\_BINARY\_SEARCH(p_{i-1},p_{i},C_{k})} 1835:, we must have found the convex hull), hence the second phase takes 1697:(i.e. the points in the mini convex hulls) instead of the whole set 6114:{\displaystyle {\mathcal {O}}(n\log h^{2})={\mathcal {O}}(n\log h)} 4999:{\displaystyle {\mathcal {O}}(n\log h^{2})={\mathcal {O}}(n\log h)} 4234:
There are other schemes: for example, the "doubling scheme", where
453:
The algorithm starts by arbitrarily partitioning the set of points
3746:
is required for this Chan's algorithm to find the convex hull of
953:. At each step in this Jarvis's march algorithm, we have a point 8798:
complexity can be achieved provided h is of polynomial order in
4884:{\displaystyle {\mathcal {O}}(Km\log m)={\mathcal {O}}(n\log m)} 886:
is executed, making use of the precomputed (mini) convex hulls,
2993:
To generalize this construction for the 3-dimensional case, an
1977:
By running the two phases described above, the convex hull of
19: 8925: 1775:
times (because, in the way Jarvis march works, after at most
5810:
Hence, the total time complexity of this modified version is
3815:
and so that the time complexity of this Chan's algorithm is
5536:, its running time depends on the size of the convex hull, 2179:; each pass terminates (successfully or unsuccessfully) in 87:
points, in 2- or 3-dimensional space. The algorithm takes
4314:{\displaystyle t=1,\dots ,\left\lceil \log h\right\rceil } 3675:(These are the iterations needed to discover the value of 3453:
is used in the Jarvis march part of this Chan's algorithm,
4599:{\displaystyle K=\left\lceil {\frac {n}{m}}\right\rceil } 3810:, so that not to perform too many unnecessary iterations 3287:: for instance, the point with the lowest y coordinate.) 7734:{\displaystyle z\in \{q_{i,1},q_{i,2},\dots ,q_{i,K}\}} 1717:. For those points, one iteration of Jarvis's march is 8804: 8766: 8723: 8685: 8658: 8638: 8609: 8548: 8517: 8471: 8438: 8418: 8347: 8268: 8235: 8202: 8171: 8151: 8102: 8069: 8036: 7819: 7796: 7747: 7658: 7495: 7472: 7447: 7420: 7353: 7327: 7283: 7206: 7159: 7139: 7100: 7048: 6999: 6945: 6912: 6835: 6797: 6771: 6694: 6674: 6649: 6629: 6609: 6589: 6512: 6480: 6460: 6427: 6395: 6375: 6293: 6273: 6253: 6203: 6183: 6133: 6050: 6017: 5820: 5772: 5747: 5721: 5701: 5681: 5656: 5617: 5592: 5567: 5542: 5513: 5493: 5457: 5432: 5360: 5301: 5207: 5177: 5150: 5103: 5076: 5056: 5018: 4935: 4902: 4824: 4760: 4740: 4635: 4612: 4571: 4551: 4490: 4460: 4437: 4384: 4332: 4273: 4240: 4215: 4165: 4113: 4093: 4068: 4042: 4017: 3985: 3965: 3945: 3925: 3900: 3868: 3821: 3777: 3752: 3726: 3701: 3681: 3652: 3632: 3575: 3547: 3516: 3491: 3464: 3432: 3354: 3331: 3298: 3273: 3253: 3225: 3205: 3185: 3159: 3139: 3112: 3092: 3038: 2999: 2741: 2718: 2520: 2476: 2417: 2397: 2377: 2357: 2283: 2263: 2243: 2223: 2185: 2165: 2124: 2100: 2074: 2054: 2003: 1983: 1960: 1940: 1920: 1882: 1841: 1821: 1801: 1781: 1752: 1723: 1703: 1629: 1587: 1549: 1529: 1480: 1441: 1392: 1372: 1345: 1318: 1298: 1271: 1238: 1177: 1134: 1114: 1053: 1033: 1013: 986: 959: 892: 817: 788: 768: 748: 706: 679: 652: 606: 586: 519: 479: 459: 436: 410: 390: 370: 344: 324: 304: 284: 229: 197: 151: 131: 93: 73: 53: 4714:{\displaystyle Q_{1},Q_{2},\dots ,Q_{K}:=SPLIT(P,m)} 762:
is the number of points in the subset. As there are
278:
A single pass of the algorithm requires a parameter
7191:(Angles do not need to be calculated directly: the 3646:, the number of points in the final convex hull of 1954:(see below the description of a strategy to choose 8810: 8790: 8747: 8709: 8664: 8644: 8624: 8554: 8529: 8503: 8457: 8424: 8387: 8325: 8248: 8221: 8183: 8157: 8134: 8082: 8055: 8005: 7802: 7782: 7733: 7625: 7478: 7453: 7433: 7406: 7339: 7308: 7269: 7178: 7145: 7125: 7086: 7034: 6980: 6931: 6898: 6815: 6777: 6757: 6680: 6655: 6635: 6615: 6595: 6575: 6493: 6466: 6446: 6408: 6381: 6356: 6279: 6259: 6216: 6189: 6151: 6113: 6036: 5999: 5797: 5753: 5733: 5707: 5687: 5662: 5642: 5598: 5573: 5561:(In practice, it means that Jarvis march performs 5548: 5519: 5499: 5479: 5438: 5405: 5346: 5272: 5190: 5163: 5131: 5089: 5062: 5036: 4998: 4921: 4883: 4805: 4746: 4713: 4618: 4598: 4557: 4524: 4475: 4443: 4410: 4367: 4313: 4259: 4221: 4195: 4145: 4099: 4074: 4054: 4023: 3998: 3971: 3951: 3931: 3906: 3886: 3849: 3802: 3758: 3738: 3707: 3687: 3658: 3638: 3609: 3553: 3529: 3497: 3477: 3445: 3409: 3337: 3317: 3279: 3259: 3231: 3211: 3191: 3165: 3145: 3118: 3098: 3062: 3023: 2977: 2724: 2701: 2503: 2462: 2403: 2383: 2363: 2331: 2269: 2249: 2229: 2209: 2171: 2148: 2106: 2086: 2060: 2027: 1989: 1966: 1946: 1926: 1906: 1868: 1827: 1807: 1787: 1767: 1738: 1709: 1689: 1615: 1573: 1535: 1515: 1462: 1427: 1378: 1358: 1331: 1304: 1284: 1257: 1224: 1163: 1120: 1100: 1039: 1019: 999: 972: 945: 871: 803: 774: 754: 730: 692: 665: 635: 592: 572: 505: 465: 442: 422: 396: 376: 356: 330: 310: 290: 253: 215: 175: 137: 117: 79: 59: 6643:possible next points to be on the convex hull of 6267:possible next points to be on the convex hull of 5586:At each of these iterations, it performs at most 2732:, and the total running time of the algorithm is 9007: 8937: 8755:, where h is the number of edges in the envelope 7087:{\displaystyle {\overrightarrow {p_{i}p_{i-1}}}} 4011:(Nevertheless, this Chan's algorithm stops once 2424: 1690:{\displaystyle (f(p_{i},Q_{k}))_{1\leq k\leq K}} 8542:(We need to start over with a higher value for 6454:is a possible next point on the convex hull of 4031:iterations of the outermost loop are performed, 2463:{\displaystyle m=\min \left(n,2^{2^{t}}\right)} 7441:is known and is a point in the convex hull of 6758:{\displaystyle q_{i,1},q_{i,2},\dots ,q_{i,K}} 6576:{\displaystyle q_{i,1},q_{i,2},\dots ,q_{i,K}} 6357:{\displaystyle q_{i,1},q_{i,2},\dots ,q_{i,K}} 1815:is the number of points in the convex hull of 8326:{\displaystyle C:=(p_{1},p_{2},\dots ,p_{i})} 7783:{\displaystyle \measuredangle p_{i-1}p_{i}z} 7728: 7665: 7035:{\displaystyle \measuredangle p_{i-1}p_{i}d} 6981:{\displaystyle \measuredangle p_{i-1}p_{i}d} 5527:is the number of points in the convex hull.) 2938: 2920: 2877: 2859: 2776: 2758: 2371:at each iteration, up to a maximum value of 2114:steps in the second phase, we interrupt the 872:{\displaystyle K\cdot O(m\log m)=O(n\log m)} 500: 486: 8979: 7790:to be the next point on the convex hull of 6177:(Note: here, a point in the convex hull of 5171:is the convex hull of the subset of points 4368:{\displaystyle {\mathcal {O}}(n\log ^{2}h)} 2038: 7407:{\displaystyle p_{i-1}=p_{0}=(-\infty ,0)} 7126:{\displaystyle {\overrightarrow {p_{i}d}}} 5273:{\displaystyle C_{k}:=GRAHAM\_SCAN(Q_{k})} 3325:time: e.g., we can simply iterate through 2672: 2668: 2629: 2625: 2602: 2598: 2554: 2550: 1232:simply means that the next point, that is 8964: 8895: 8870: 6389:possible next points is from a different 5650:, so we do not want to perform more than 8846: 8844: 5670:iterations in the following outer loop.) 5426:algorithm to compute the convex hull of 5406:{\displaystyle Q_{1},Q_{2},\dots ,Q_{K}} 5347:{\displaystyle C_{1},C_{2},\dots ,C_{K}} 4806:{\displaystyle Q_{1},Q_{2},\dots ,Q_{K}} 2332:{\displaystyle O(n\log m)>O(n\log h)} 1795:iterations of its outermost loop, where 18: 8885: 5132:{\displaystyle {\mathcal {O}}(m\log m)} 4196:{\displaystyle 1\leq t\leq \log \log n} 3850:{\displaystyle {\mathcal {O}}(n\log h)} 3086:algorithms to compute the convex hull, 9008: 7309:{\displaystyle {\mathcal {O}}(\log m)} 7270:{\displaystyle JARVIS\_BINARY\_SEARCH} 6899:{\displaystyle JARVIS\_BINARY\_SEARCH} 5798:{\displaystyle {\mathcal {O}}(\log m)} 5354:of respectively the subsets of points 2988: 980:in the convex hull (at the beginning, 8858:Discrete & Computational Geometry 8841: 3458:so that to compute the second point, 3410:{\displaystyle p_{1}:=PICK\_START(P)} 8850: 8196:(Note: of course, no need to return 6474:which is part of the convex hull of 2342: 2048:If an arbitrary value is chosen for 946:{\displaystyle (C_{k})_{k=1,2,...K}} 573:{\displaystyle (Q_{k})_{k=1,2,...K}} 404:are done which then terminates when 8888:Discrete and Computational Geometry 5050:(Compute the convex hull of subset 3610:{\displaystyle p_{0}:=(-\infty ,0)} 506:{\displaystyle K=\lceil n/m\rceil } 13: 8717:algorithm which can be sped up to 7881: 7872: 7857: 7554: 7533: 7392: 7286: 7246: 7225: 6875: 6854: 6088: 6053: 5970: 5928: 5900: 5854: 5823: 5775: 5606:iterations of its innermost loop.) 5507:is the number of input points and 5480:{\displaystyle {\mathcal {O}}(nh)} 5460: 5239: 5106: 4973: 4938: 4858: 4827: 4335: 4082:iterations of the outermost loop.) 3824: 3595: 3380: 3301: 1225:{\displaystyle p_{i+1}=f(p_{i},P)} 1101:{\displaystyle p_{i+1}=f(p_{i},P)} 14: 9027: 8571: 7466:in this case, it is the point of 7042:is the angle between the vectors 5643:{\displaystyle h\leq m\leq h^{2}} 5581:iterations of its outermost loop. 5295:(At this point, the convex hulls 5097:, using Graham scan, which takes 4545:(Arbitrarily split set of points 3803:{\displaystyle h\leq m\leq h^{2}} 3318:{\displaystyle {\mathcal {O}}(n)} 2712:with the logarithm taken in base 1265:, is determined as a function of 430:(see below on choosing parameter 223:), in order to obtain an optimal 4734:(Compute the convex hull of all 3894:iterations are required to find 1366:, is known and contains at most 8922:Adaptive Computational Geometry 8676:of formed by the intersections. 6765:is added to the convex hull of 6688:, only one of the points among 5532:(Given that Jarvis march is an 3959:, but it is never smaller than 673:, it computes the convex hull, 8983:Information Processing Letters 8973: 8931: 8914: 8879: 8785: 8770: 8742: 8727: 8704: 8689: 8619: 8613: 8504:{\displaystyle p_{i+1}==p_{1}} 8388:{\displaystyle ADD(C,p_{i+1})} 8382: 8357: 8320: 8275: 8135:{\displaystyle p_{i+1}==p_{1}} 8000: 7997: 7934: 7899: 7620: 7575: 7486:with the lowest y coordinate.) 7401: 7386: 7303: 7291: 6603:: that is, for each iteration 6108: 6093: 6080: 6058: 6044:, then the time complexity is 5991: 5975: 5962: 5933: 5920: 5905: 5892: 5859: 5846: 5828: 5792: 5780: 5474: 5465: 5267: 5254: 5126: 5111: 4993: 4978: 4965: 4943: 4929:, then the time complexity is 4878: 4863: 4850: 4832: 4708: 4696: 4519: 4500: 4470: 4467: 4362: 4340: 4146:{\displaystyle p_{i+1}==p_{1}} 3844: 3829: 3604: 3589: 3404: 3398: 3312: 3306: 3057: 3042: 3018: 3003: 2969: 2954: 2840: 2834: 2669: 2626: 2599: 2551: 2504:{\displaystyle O(\log \log h)} 2498: 2480: 2326: 2311: 2302: 2287: 2204: 2189: 2143: 2128: 2022: 2007: 1901: 1886: 1863: 1845: 1762: 1756: 1733: 1727: 1666: 1662: 1636: 1630: 1610: 1591: 1568: 1553: 1516:{\displaystyle f(p_{i},Q_{k})} 1510: 1484: 1457: 1445: 1428:{\displaystyle f(p_{i},Q_{k})} 1422: 1396: 1219: 1200: 1108:such that all other points of 1095: 1076: 907: 893: 866: 851: 842: 827: 811:points each, this phase takes 798: 792: 725: 710: 630: 616: 534: 520: 248: 233: 210: 201: 170: 155: 112: 97: 1: 8834: 8591: 6816:{\displaystyle 1\leq k\leq K} 6152:{\displaystyle 1\leq i\leq m} 5037:{\displaystyle 1\leq k\leq K} 3267:which is guaranteed to be in 3073: 1974:such that this is the case). 1581:time. Then, we can determine 1312:. The convex hull of the set 1128:are to the right of the line 318:(number of points of our set 8996:10.1016/0020-0190(89)90136-1 8966:10.1016/0925-7721(94)00018-Q 8897:10.1007/978-3-540-46515-7_21 4525:{\displaystyle ADD(C,p_{1})} 4411:{\displaystyle m:=2^{2^{t}}} 3771:(More specifically, we want 2347:One possible strategy is to 1474:. Hence, the computation of 1164:{\displaystyle p_{i}p_{i+1}} 1047:), and need to find a point 268: 263:Kirkpatrick–Seidel algorithm 7: 8822: 8465:has not been found so that 8145:(Return the convex hull of 6037:{\displaystyle m\leq h^{2}} 4922:{\displaystyle m\leq h^{2}} 3887:{\displaystyle \log \log n} 3219:points, the convex hull of 2277:, and produce a complexity 1869:{\displaystyle O(Kh\log m)} 273: 10: 9032: 8791:{\displaystyle O(n\log h)} 8748:{\displaystyle O(n\log h)} 8710:{\displaystyle O(n\log n)} 7741:which maximizes the angle 6932:{\displaystyle d\in C_{k}} 6197:is already known, that is 5534:output-sensitive algorithm 5451:(Jarvis march performs in 3695:, which is an estimate of 3063:{\displaystyle O(n\log h)} 3024:{\displaystyle O(n\log n)} 2210:{\displaystyle O(n\log m)} 2149:{\displaystyle O(n\log m)} 2028:{\displaystyle O(n\log h)} 1907:{\displaystyle O(n\log h)} 1616:{\displaystyle f(p_{i},P)} 1574:{\displaystyle O(K\log m)} 731:{\displaystyle O(p\log p)} 254:{\displaystyle O(n\log h)} 176:{\displaystyle O(n\log n)} 118:{\displaystyle O(n\log h)} 41:output-sensitive algorithm 8851:Chan, Timothy M. (1996). 6668:(Note: at each iteration 2470:is chosen. In that case, 1463:{\displaystyle O(\log m)} 882:During the second phase, 600:points each; notice that 8063:, is the initial point, 7321:(Note: at the iteration 3485:, in the convex hull of 738:algorithm (for example, 636:{\displaystyle K=O(n/m)} 8458:{\displaystyle p_{i+1}} 8222:{\displaystyle p_{i+1}} 8056:{\displaystyle p_{i+1}} 7179:{\displaystyle q_{i,k}} 6447:{\displaystyle q_{i,k}} 4260:{\displaystyle m=2^{t}} 4055:{\displaystyle m\neq h} 3739:{\displaystyle h\leq m} 2039:Choosing the parameter 1543:subsets can be done in 1258:{\displaystyle p_{i+1}} 423:{\displaystyle m\geq h} 298:which is between 0 and 9016:Convex hull algorithms 8952:Computational Geometry 8829:Convex hull algorithms 8812: 8792: 8749: 8711: 8666: 8646: 8626: 8556: 8531: 8530:{\displaystyle m<h} 8505: 8459: 8426: 8389: 8327: 8250: 8223: 8185: 8159: 8136: 8084: 8057: 8007: 7804: 7784: 7735: 7627: 7480: 7455: 7435: 7408: 7341: 7310: 7271: 7180: 7147: 7127: 7088: 7036: 6982: 6933: 6900: 6817: 6779: 6759: 6682: 6657: 6637: 6617: 6597: 6577: 6495: 6468: 6448: 6410: 6383: 6358: 6281: 6261: 6218: 6191: 6153: 6115: 6038: 6001: 5799: 5755: 5735: 5734:{\displaystyle m<h} 5709: 5689: 5664: 5644: 5600: 5575: 5550: 5521: 5501: 5481: 5440: 5407: 5348: 5274: 5192: 5165: 5133: 5091: 5064: 5038: 5000: 4923: 4885: 4807: 4748: 4715: 4620: 4600: 4559: 4526: 4477: 4445: 4412: 4369: 4315: 4261: 4223: 4197: 4147: 4101: 4076: 4056: 4025: 4000: 3973: 3953: 3933: 3908: 3888: 3851: 3804: 3760: 3740: 3709: 3689: 3660: 3640: 3611: 3555: 3531: 3499: 3479: 3447: 3411: 3339: 3319: 3292:(This operation takes 3281: 3261: 3233: 3213: 3193: 3167: 3147: 3120: 3106:, of a set of points, 3100: 3064: 3025: 2979: 2881: 2780: 2726: 2703: 2505: 2464: 2405: 2385: 2365: 2333: 2271: 2251: 2231: 2211: 2173: 2150: 2108: 2094:. In that case, after 2088: 2087:{\displaystyle m<h} 2062: 2029: 1997:points is computed in 1991: 1968: 1948: 1928: 1908: 1870: 1829: 1809: 1789: 1769: 1740: 1711: 1691: 1617: 1575: 1537: 1517: 1464: 1429: 1380: 1360: 1333: 1306: 1286: 1259: 1226: 1165: 1122: 1102: 1041: 1021: 1001: 974: 947: 873: 805: 776: 756: 732: 694: 667: 637: 594: 574: 507: 467: 444: 424: 398: 378: 358: 332: 312: 292: 255: 217: 177: 139: 119: 81: 61: 29:computational geometry 24: 8813: 8793: 8750: 8712: 8667: 8647: 8627: 8557: 8532: 8506: 8460: 8427: 8390: 8328: 8251: 8249:{\displaystyle p_{1}} 8224: 8186: 8160: 8137: 8085: 8083:{\displaystyle p_{1}} 8058: 8008: 7805: 7785: 7736: 7628: 7481: 7456: 7436: 7434:{\displaystyle p_{1}} 7409: 7342: 7311: 7272: 7181: 7148: 7128: 7089: 7037: 6983: 6934: 6901: 6818: 6780: 6760: 6683: 6658: 6638: 6618: 6598: 6578: 6496: 6494:{\displaystyle C_{k}} 6469: 6449: 6411: 6409:{\displaystyle C_{k}} 6384: 6359: 6282: 6262: 6219: 6217:{\displaystyle p_{1}} 6192: 6154: 6116: 6039: 6002: 5800: 5756: 5741:, the convex hull of 5736: 5710: 5690: 5665: 5645: 5601: 5576: 5551: 5522: 5502: 5482: 5441: 5408: 5349: 5275: 5193: 5191:{\displaystyle Q_{k}} 5166: 5164:{\displaystyle C_{k}} 5134: 5092: 5090:{\displaystyle Q_{k}} 5065: 5039: 5001: 4924: 4886: 4808: 4749: 4716: 4621: 4601: 4560: 4527: 4478: 4476:{\displaystyle C:=()} 4451:, as they are found.) 4446: 4413: 4370: 4316: 4262: 4224: 4198: 4148: 4102: 4077: 4062:, it doesn't perform 4057: 4026: 4001: 3999:{\displaystyle h^{2}} 3974: 3954: 3934: 3909: 3889: 3852: 3805: 3761: 3741: 3710: 3690: 3661: 3641: 3612: 3556: 3532: 3530:{\displaystyle p_{0}} 3500: 3480: 3478:{\displaystyle p_{2}} 3448: 3446:{\displaystyle p_{0}} 3412: 3340: 3320: 3282: 3262: 3234: 3214: 3194: 3168: 3148: 3121: 3101: 3065: 3026: 2980: 2843: 2742: 2727: 2704: 2506: 2465: 2406: 2386: 2366: 2334: 2272: 2252: 2232: 2212: 2174: 2151: 2109: 2089: 2068:, it may happen that 2063: 2030: 1992: 1969: 1949: 1929: 1909: 1871: 1830: 1810: 1790: 1770: 1741: 1712: 1692: 1618: 1576: 1538: 1518: 1465: 1430: 1381: 1361: 1359:{\displaystyle C_{k}} 1334: 1332:{\displaystyle Q_{k}} 1307: 1287: 1285:{\displaystyle p_{i}} 1260: 1227: 1171:, where the notation 1166: 1123: 1103: 1042: 1022: 1002: 1000:{\displaystyle p_{i}} 975: 973:{\displaystyle p_{i}} 948: 874: 806: 777: 757: 733: 695: 693:{\displaystyle C_{k}} 668: 666:{\displaystyle Q_{k}} 638: 595: 575: 508: 468: 445: 425: 399: 379: 359: 333: 313: 293: 256: 218: 216:{\displaystyle O(nh)} 178: 140: 120: 82: 62: 22: 8802: 8764: 8721: 8683: 8679:Hershberger gave an 8656: 8636: 8625:{\displaystyle L(S)} 8607: 8546: 8515: 8469: 8436: 8416: 8345: 8266: 8233: 8200: 8169: 8149: 8100: 8067: 8034: 7817: 7794: 7745: 7656: 7493: 7470: 7445: 7418: 7351: 7325: 7281: 7277:can be performed in 7204: 7157: 7137: 7098: 7046: 6997: 6943: 6939:such that the angle 6910: 6833: 6795: 6769: 6692: 6672: 6647: 6627: 6607: 6587: 6510: 6478: 6458: 6425: 6393: 6373: 6291: 6271: 6251: 6201: 6181: 6131: 6048: 6015: 5818: 5770: 5745: 5719: 5699: 5679: 5654: 5615: 5590: 5565: 5540: 5511: 5491: 5455: 5430: 5413:have been computed.) 5358: 5299: 5205: 5175: 5148: 5101: 5074: 5054: 5016: 4933: 4900: 4822: 4758: 4738: 4633: 4610: 4569: 4549: 4488: 4458: 4435: 4382: 4330: 4271: 4238: 4213: 4163: 4111: 4091: 4066: 4040: 4015: 3983: 3963: 3943: 3939:may not be equal to 3923: 3898: 3866: 3819: 3775: 3750: 3724: 3699: 3679: 3650: 3630: 3573: 3545: 3514: 3489: 3462: 3430: 3352: 3329: 3296: 3271: 3251: 3223: 3203: 3183: 3157: 3137: 3110: 3090: 3036: 2997: 2739: 2716: 2518: 2474: 2415: 2395: 2375: 2355: 2281: 2261: 2241: 2221: 2183: 2163: 2122: 2098: 2072: 2052: 2001: 1981: 1958: 1938: 1918: 1880: 1876:time, equivalent to 1839: 1819: 1799: 1779: 1768:{\displaystyle O(h)} 1750: 1739:{\displaystyle O(K)} 1721: 1701: 1627: 1585: 1547: 1527: 1478: 1439: 1390: 1370: 1343: 1316: 1296: 1269: 1236: 1175: 1132: 1112: 1051: 1031: 1011: 1007:may be the point in 984: 957: 890: 815: 804:{\displaystyle O(m)} 786: 766: 746: 704: 677: 650: 604: 584: 517: 477: 457: 434: 408: 388: 368: 342: 322: 302: 282: 227: 195: 187:, for example) with 149: 129: 91: 71: 51: 8432:iterations a point 8184:{\displaystyle i=h} 7340:{\displaystyle i=1} 4754:subsets of points, 4606:subsets of roughly 2989:In three dimensions 357:{\displaystyle m=h} 8872:10.1007/BF02712873 8808: 8788: 8745: 8707: 8662: 8642: 8622: 8552: 8527: 8501: 8455: 8422: 8385: 8323: 8246: 8229:which is equal to 8219: 8181: 8155: 8132: 8080: 8053: 8003: 7800: 7780: 7731: 7652:(Choose the point 7623: 7476: 7451: 7431: 7404: 7337: 7306: 7267: 7176: 7143: 7123: 7084: 7032: 6978: 6929: 6896: 6813: 6775: 6755: 6678: 6653: 6633: 6613: 6593: 6573: 6491: 6464: 6444: 6406: 6379: 6354: 6277: 6257: 6214: 6187: 6149: 6111: 6034: 5997: 5795: 5751: 5731: 5705: 5685: 5660: 5640: 5596: 5571: 5546: 5517: 5497: 5477: 5436: 5403: 5344: 5270: 5188: 5161: 5129: 5087: 5060: 5034: 4996: 4919: 4881: 4803: 4744: 4711: 4616: 4596: 4555: 4522: 4473: 4441: 4408: 4365: 4311: 4257: 4219: 4193: 4143: 4097: 4072: 4052: 4021: 3996: 3969: 3949: 3929: 3904: 3884: 3847: 3800: 3756: 3736: 3705: 3685: 3656: 3636: 3607: 3551: 3527: 3495: 3475: 3443: 3407: 3335: 3315: 3277: 3257: 3229: 3209: 3189: 3163: 3143: 3116: 3096: 3060: 3021: 2975: 2722: 2699: 2501: 2460: 2401: 2381: 2361: 2329: 2267: 2247: 2227: 2207: 2169: 2146: 2104: 2084: 2058: 2025: 1987: 1964: 1944: 1924: 1904: 1866: 1825: 1805: 1785: 1765: 1736: 1707: 1687: 1613: 1571: 1533: 1513: 1460: 1425: 1376: 1356: 1329: 1302: 1282: 1255: 1222: 1161: 1118: 1098: 1037: 1017: 997: 970: 943: 869: 801: 772: 752: 728: 690: 663: 633: 590: 570: 503: 463: 440: 420: 394: 374: 354: 328: 308: 288: 251: 213: 173: 135: 115: 77: 57: 25: 8939:Chazelle, Bernard 8924:". Ph.D. thesis, 8907:978-3-540-67181-7 8811:{\displaystyle n} 8665:{\displaystyle n} 8645:{\displaystyle S} 8555:{\displaystyle m} 8425:{\displaystyle m} 8158:{\displaystyle P} 7803:{\displaystyle P} 7479:{\displaystyle P} 7454:{\displaystyle P} 7146:{\displaystyle d} 7121: 7082: 6778:{\displaystyle P} 6681:{\displaystyle i} 6656:{\displaystyle P} 6636:{\displaystyle K} 6616:{\displaystyle i} 6596:{\displaystyle i} 6467:{\displaystyle P} 6382:{\displaystyle K} 6280:{\displaystyle P} 6260:{\displaystyle K} 6190:{\displaystyle P} 5877: 5761:cannot be found.) 5754:{\displaystyle P} 5708:{\displaystyle h} 5688:{\displaystyle m} 5663:{\displaystyle m} 5599:{\displaystyle n} 5574:{\displaystyle h} 5549:{\displaystyle h} 5520:{\displaystyle h} 5500:{\displaystyle n} 5439:{\displaystyle P} 5063:{\displaystyle k} 4747:{\displaystyle K} 4619:{\displaystyle m} 4590: 4558:{\displaystyle P} 4444:{\displaystyle P} 4222:{\displaystyle m} 4100:{\displaystyle C} 4075:{\displaystyle m} 4036:that is, even if 4024:{\displaystyle h} 3979:and greater than 3972:{\displaystyle h} 3952:{\displaystyle h} 3932:{\displaystyle m} 3919:(Note: the final 3907:{\displaystyle m} 3759:{\displaystyle P} 3708:{\displaystyle h} 3688:{\displaystyle m} 3659:{\displaystyle P} 3639:{\displaystyle h} 3554:{\displaystyle P} 3498:{\displaystyle P} 3338:{\displaystyle P} 3280:{\displaystyle C} 3260:{\displaystyle P} 3247:(Pick a point of 3232:{\displaystyle P} 3212:{\displaystyle h} 3192:{\displaystyle C} 3166:{\displaystyle n} 3146:{\displaystyle P} 3119:{\displaystyle P} 3099:{\displaystyle C} 2725:{\displaystyle 2} 2404:{\displaystyle t} 2384:{\displaystyle n} 2364:{\displaystyle m} 2343:Squaring Strategy 2270:{\displaystyle h} 2250:{\displaystyle m} 2230:{\displaystyle m} 2172:{\displaystyle m} 2107:{\displaystyle m} 2061:{\displaystyle m} 1990:{\displaystyle n} 1967:{\displaystyle m} 1947:{\displaystyle h} 1927:{\displaystyle m} 1828:{\displaystyle P} 1808:{\displaystyle h} 1788:{\displaystyle h} 1710:{\displaystyle P} 1536:{\displaystyle K} 1379:{\displaystyle m} 1305:{\displaystyle P} 1121:{\displaystyle P} 1040:{\displaystyle P} 1020:{\displaystyle P} 775:{\displaystyle K} 755:{\displaystyle p} 593:{\displaystyle m} 466:{\displaystyle P} 443:{\displaystyle m} 397:{\displaystyle m} 377:{\displaystyle h} 331:{\displaystyle P} 311:{\displaystyle n} 291:{\displaystyle m} 138:{\displaystyle h} 80:{\displaystyle n} 60:{\displaystyle P} 9023: 9000: 8999: 8977: 8971: 8970: 8968: 8935: 8929: 8920:Frank Nielsen. " 8918: 8912: 8911: 8899: 8883: 8877: 8876: 8874: 8848: 8817: 8815: 8814: 8809: 8797: 8795: 8794: 8789: 8754: 8752: 8751: 8746: 8716: 8714: 8713: 8708: 8671: 8669: 8668: 8663: 8651: 8649: 8648: 8643: 8631: 8629: 8628: 8623: 8561: 8559: 8558: 8553: 8536: 8534: 8533: 8528: 8510: 8508: 8507: 8502: 8500: 8499: 8487: 8486: 8464: 8462: 8461: 8456: 8454: 8453: 8431: 8429: 8428: 8423: 8394: 8392: 8391: 8386: 8381: 8380: 8332: 8330: 8329: 8324: 8319: 8318: 8300: 8299: 8287: 8286: 8255: 8253: 8252: 8247: 8245: 8244: 8228: 8226: 8225: 8220: 8218: 8217: 8190: 8188: 8187: 8182: 8164: 8162: 8161: 8156: 8141: 8139: 8138: 8133: 8131: 8130: 8118: 8117: 8089: 8087: 8086: 8081: 8079: 8078: 8062: 8060: 8059: 8054: 8052: 8051: 8012: 8010: 8009: 8004: 7996: 7995: 7971: 7970: 7952: 7951: 7930: 7929: 7917: 7916: 7835: 7834: 7809: 7807: 7806: 7801: 7789: 7787: 7786: 7781: 7776: 7775: 7766: 7765: 7740: 7738: 7737: 7732: 7727: 7726: 7702: 7701: 7683: 7682: 7632: 7630: 7629: 7624: 7619: 7618: 7606: 7605: 7593: 7592: 7511: 7510: 7485: 7483: 7482: 7477: 7460: 7458: 7457: 7452: 7440: 7438: 7437: 7432: 7430: 7429: 7413: 7411: 7410: 7405: 7382: 7381: 7369: 7368: 7346: 7344: 7343: 7338: 7315: 7313: 7312: 7307: 7290: 7289: 7276: 7274: 7273: 7268: 7193:orientation test 7185: 7183: 7182: 7177: 7175: 7174: 7152: 7150: 7149: 7144: 7132: 7130: 7129: 7124: 7122: 7117: 7113: 7112: 7102: 7093: 7091: 7090: 7085: 7083: 7078: 7077: 7076: 7061: 7060: 7050: 7041: 7039: 7038: 7033: 7028: 7027: 7018: 7017: 6987: 6985: 6984: 6979: 6974: 6973: 6964: 6963: 6938: 6936: 6935: 6930: 6928: 6927: 6906:finds the point 6905: 6903: 6902: 6897: 6822: 6820: 6819: 6814: 6784: 6782: 6781: 6776: 6764: 6762: 6761: 6756: 6754: 6753: 6729: 6728: 6710: 6709: 6687: 6685: 6684: 6679: 6662: 6660: 6659: 6654: 6642: 6640: 6639: 6634: 6622: 6620: 6619: 6614: 6602: 6600: 6599: 6594: 6582: 6580: 6579: 6574: 6572: 6571: 6547: 6546: 6528: 6527: 6500: 6498: 6497: 6492: 6490: 6489: 6473: 6471: 6470: 6465: 6453: 6451: 6450: 6445: 6443: 6442: 6415: 6413: 6412: 6407: 6405: 6404: 6388: 6386: 6385: 6380: 6364:, are computed.) 6363: 6361: 6360: 6355: 6353: 6352: 6328: 6327: 6309: 6308: 6286: 6284: 6283: 6278: 6266: 6264: 6263: 6258: 6223: 6221: 6220: 6215: 6213: 6212: 6196: 6194: 6193: 6188: 6158: 6156: 6155: 6150: 6120: 6118: 6117: 6112: 6092: 6091: 6079: 6078: 6057: 6056: 6043: 6041: 6040: 6035: 6033: 6032: 6006: 6004: 6003: 5998: 5990: 5989: 5974: 5973: 5961: 5960: 5959: 5958: 5932: 5931: 5904: 5903: 5882: 5878: 5870: 5858: 5857: 5827: 5826: 5804: 5802: 5801: 5796: 5779: 5778: 5760: 5758: 5757: 5752: 5740: 5738: 5737: 5732: 5714: 5712: 5711: 5706: 5695:is smaller than 5694: 5692: 5691: 5686: 5675:(If the current 5669: 5667: 5666: 5661: 5649: 5647: 5646: 5641: 5639: 5638: 5605: 5603: 5602: 5597: 5580: 5578: 5577: 5572: 5555: 5553: 5552: 5547: 5526: 5524: 5523: 5518: 5506: 5504: 5503: 5498: 5486: 5484: 5483: 5478: 5464: 5463: 5445: 5443: 5442: 5437: 5420:modified version 5412: 5410: 5409: 5404: 5402: 5401: 5383: 5382: 5370: 5369: 5353: 5351: 5350: 5345: 5343: 5342: 5324: 5323: 5311: 5310: 5279: 5277: 5276: 5271: 5266: 5265: 5217: 5216: 5197: 5195: 5194: 5189: 5187: 5186: 5170: 5168: 5167: 5162: 5160: 5159: 5138: 5136: 5135: 5130: 5110: 5109: 5096: 5094: 5093: 5088: 5086: 5085: 5069: 5067: 5066: 5061: 5043: 5041: 5040: 5035: 5005: 5003: 5002: 4997: 4977: 4976: 4964: 4963: 4942: 4941: 4928: 4926: 4925: 4920: 4918: 4917: 4890: 4888: 4887: 4882: 4862: 4861: 4831: 4830: 4812: 4810: 4809: 4804: 4802: 4801: 4783: 4782: 4770: 4769: 4753: 4751: 4750: 4745: 4720: 4718: 4717: 4712: 4677: 4676: 4658: 4657: 4645: 4644: 4625: 4623: 4622: 4617: 4605: 4603: 4602: 4597: 4595: 4591: 4583: 4564: 4562: 4561: 4556: 4531: 4529: 4528: 4523: 4518: 4517: 4482: 4480: 4479: 4474: 4450: 4448: 4447: 4442: 4417: 4415: 4414: 4409: 4407: 4406: 4405: 4404: 4374: 4372: 4371: 4366: 4355: 4354: 4339: 4338: 4320: 4318: 4317: 4312: 4310: 4306: 4266: 4264: 4263: 4258: 4256: 4255: 4228: 4226: 4225: 4220: 4202: 4200: 4199: 4194: 4152: 4150: 4149: 4144: 4142: 4141: 4129: 4128: 4106: 4104: 4103: 4098: 4081: 4079: 4078: 4073: 4061: 4059: 4058: 4053: 4030: 4028: 4027: 4022: 4005: 4003: 4002: 3997: 3995: 3994: 3978: 3976: 3975: 3970: 3958: 3956: 3955: 3950: 3938: 3936: 3935: 3930: 3913: 3911: 3910: 3905: 3893: 3891: 3890: 3885: 3856: 3854: 3853: 3848: 3828: 3827: 3809: 3807: 3806: 3801: 3799: 3798: 3765: 3763: 3762: 3757: 3745: 3743: 3742: 3737: 3714: 3712: 3711: 3706: 3694: 3692: 3691: 3686: 3665: 3663: 3662: 3657: 3645: 3643: 3642: 3637: 3616: 3614: 3613: 3608: 3585: 3584: 3560: 3558: 3557: 3552: 3536: 3534: 3533: 3528: 3526: 3525: 3504: 3502: 3501: 3496: 3484: 3482: 3481: 3476: 3474: 3473: 3452: 3450: 3449: 3444: 3442: 3441: 3416: 3414: 3413: 3408: 3364: 3363: 3344: 3342: 3341: 3336: 3324: 3322: 3321: 3316: 3305: 3304: 3286: 3284: 3283: 3278: 3266: 3264: 3263: 3258: 3238: 3236: 3235: 3230: 3218: 3216: 3215: 3210: 3198: 3196: 3195: 3190: 3172: 3170: 3169: 3164: 3152: 3150: 3149: 3144: 3125: 3123: 3122: 3117: 3105: 3103: 3102: 3097: 3069: 3067: 3066: 3061: 3030: 3028: 3027: 3022: 2984: 2982: 2981: 2976: 2947: 2943: 2942: 2941: 2891: 2890: 2880: 2857: 2827: 2823: 2822: 2818: 2817: 2816: 2815: 2779: 2756: 2731: 2729: 2728: 2723: 2708: 2706: 2705: 2700: 2695: 2667: 2647: 2646: 2645: 2612: 2611: 2585: 2581: 2580: 2579: 2578: 2543: 2542: 2541: 2540: 2510: 2508: 2507: 2502: 2469: 2467: 2466: 2461: 2459: 2455: 2454: 2453: 2452: 2451: 2410: 2408: 2407: 2402: 2390: 2388: 2387: 2382: 2370: 2368: 2367: 2362: 2338: 2336: 2335: 2330: 2276: 2274: 2273: 2268: 2256: 2254: 2253: 2248: 2236: 2234: 2233: 2228: 2216: 2214: 2213: 2208: 2178: 2176: 2175: 2170: 2155: 2153: 2152: 2147: 2113: 2111: 2110: 2105: 2093: 2091: 2090: 2085: 2067: 2065: 2064: 2059: 2044: 2034: 2032: 2031: 2026: 1996: 1994: 1993: 1988: 1973: 1971: 1970: 1965: 1953: 1951: 1950: 1945: 1933: 1931: 1930: 1925: 1913: 1911: 1910: 1905: 1875: 1873: 1872: 1867: 1834: 1832: 1831: 1826: 1814: 1812: 1811: 1806: 1794: 1792: 1791: 1786: 1774: 1772: 1771: 1766: 1745: 1743: 1742: 1737: 1716: 1714: 1713: 1708: 1696: 1694: 1693: 1688: 1686: 1685: 1661: 1660: 1648: 1647: 1622: 1620: 1619: 1614: 1603: 1602: 1580: 1578: 1577: 1572: 1542: 1540: 1539: 1534: 1522: 1520: 1519: 1514: 1509: 1508: 1496: 1495: 1469: 1467: 1466: 1461: 1434: 1432: 1431: 1426: 1421: 1420: 1408: 1407: 1385: 1383: 1382: 1377: 1365: 1363: 1362: 1357: 1355: 1354: 1338: 1336: 1335: 1330: 1328: 1327: 1311: 1309: 1308: 1303: 1291: 1289: 1288: 1283: 1281: 1280: 1264: 1262: 1261: 1256: 1254: 1253: 1231: 1229: 1228: 1223: 1212: 1211: 1193: 1192: 1170: 1168: 1167: 1162: 1160: 1159: 1144: 1143: 1127: 1125: 1124: 1119: 1107: 1105: 1104: 1099: 1088: 1087: 1069: 1068: 1046: 1044: 1043: 1038: 1026: 1024: 1023: 1018: 1006: 1004: 1003: 998: 996: 995: 979: 977: 976: 971: 969: 968: 952: 950: 949: 944: 942: 941: 905: 904: 878: 876: 875: 870: 810: 808: 807: 802: 781: 779: 778: 773: 761: 759: 758: 753: 737: 735: 734: 729: 699: 697: 696: 691: 689: 688: 672: 670: 669: 664: 662: 661: 646:For each subset 642: 640: 639: 634: 626: 599: 597: 596: 591: 579: 577: 576: 571: 569: 568: 532: 531: 512: 510: 509: 504: 496: 472: 470: 469: 464: 449: 447: 446: 441: 429: 427: 426: 421: 403: 401: 400: 395: 383: 381: 380: 375: 363: 361: 360: 355: 337: 335: 334: 329: 317: 315: 314: 309: 297: 295: 294: 289: 260: 258: 257: 252: 222: 220: 219: 214: 182: 180: 179: 174: 144: 142: 141: 136: 124: 122: 121: 116: 86: 84: 83: 78: 66: 64: 63: 58: 39:, is an optimal 33:Chan's algorithm 9031: 9030: 9026: 9025: 9024: 9022: 9021: 9020: 9006: 9005: 9004: 9003: 8978: 8974: 8936: 8932: 8919: 8915: 8908: 8884: 8880: 8849: 8842: 8837: 8825: 8803: 8800: 8799: 8765: 8762: 8761: 8722: 8719: 8718: 8684: 8681: 8680: 8657: 8654: 8653: 8637: 8634: 8633: 8608: 8605: 8604: 8594: 8574: 8547: 8544: 8543: 8516: 8513: 8512: 8495: 8491: 8476: 8472: 8470: 8467: 8466: 8443: 8439: 8437: 8434: 8433: 8417: 8414: 8413: 8370: 8366: 8346: 8343: 8342: 8314: 8310: 8295: 8291: 8282: 8278: 8267: 8264: 8263: 8240: 8236: 8234: 8231: 8230: 8207: 8203: 8201: 8198: 8197: 8170: 8167: 8166: 8165:which contains 8150: 8147: 8146: 8126: 8122: 8107: 8103: 8101: 8098: 8097: 8074: 8070: 8068: 8065: 8064: 8041: 8037: 8035: 8032: 8031: 7985: 7981: 7960: 7956: 7941: 7937: 7925: 7921: 7906: 7902: 7824: 7820: 7818: 7815: 7814: 7795: 7792: 7791: 7771: 7767: 7755: 7751: 7746: 7743: 7742: 7716: 7712: 7691: 7687: 7672: 7668: 7657: 7654: 7653: 7614: 7610: 7601: 7597: 7582: 7578: 7500: 7496: 7494: 7491: 7490: 7471: 7468: 7467: 7446: 7443: 7442: 7425: 7421: 7419: 7416: 7415: 7377: 7373: 7358: 7354: 7352: 7349: 7348: 7326: 7323: 7322: 7285: 7284: 7282: 7279: 7278: 7205: 7202: 7201: 7164: 7160: 7158: 7155: 7154: 7138: 7135: 7134: 7108: 7104: 7103: 7101: 7099: 7096: 7095: 7066: 7062: 7056: 7052: 7051: 7049: 7047: 7044: 7043: 7023: 7019: 7007: 7003: 6998: 6995: 6994: 6969: 6965: 6953: 6949: 6944: 6941: 6940: 6923: 6919: 6911: 6908: 6907: 6834: 6831: 6830: 6796: 6793: 6792: 6770: 6767: 6766: 6743: 6739: 6718: 6714: 6699: 6695: 6693: 6690: 6689: 6673: 6670: 6669: 6648: 6645: 6644: 6628: 6625: 6624: 6608: 6605: 6604: 6588: 6585: 6584: 6561: 6557: 6536: 6532: 6517: 6513: 6511: 6508: 6507: 6485: 6481: 6479: 6476: 6475: 6459: 6456: 6455: 6432: 6428: 6426: 6423: 6422: 6400: 6396: 6394: 6391: 6390: 6374: 6371: 6370: 6369:(Each of these 6342: 6338: 6317: 6313: 6298: 6294: 6292: 6289: 6288: 6272: 6269: 6268: 6252: 6249: 6248: 6243:(In this inner 6208: 6204: 6202: 6199: 6198: 6182: 6179: 6178: 6132: 6129: 6128: 6087: 6086: 6074: 6070: 6052: 6051: 6049: 6046: 6045: 6028: 6024: 6016: 6013: 6012: 5985: 5981: 5969: 5968: 5954: 5950: 5949: 5945: 5927: 5926: 5899: 5898: 5869: 5865: 5853: 5852: 5822: 5821: 5819: 5816: 5815: 5774: 5773: 5771: 5768: 5767: 5746: 5743: 5742: 5720: 5717: 5716: 5700: 5697: 5696: 5680: 5677: 5676: 5655: 5652: 5651: 5634: 5630: 5616: 5613: 5612: 5591: 5588: 5587: 5566: 5563: 5562: 5541: 5538: 5537: 5512: 5509: 5508: 5492: 5489: 5488: 5459: 5458: 5456: 5453: 5452: 5431: 5428: 5427: 5397: 5393: 5378: 5374: 5365: 5361: 5359: 5356: 5355: 5338: 5334: 5319: 5315: 5306: 5302: 5300: 5297: 5296: 5261: 5257: 5212: 5208: 5206: 5203: 5202: 5182: 5178: 5176: 5173: 5172: 5155: 5151: 5149: 5146: 5145: 5105: 5104: 5102: 5099: 5098: 5081: 5077: 5075: 5072: 5071: 5055: 5052: 5051: 5017: 5014: 5013: 4972: 4971: 4959: 4955: 4937: 4936: 4934: 4931: 4930: 4913: 4909: 4901: 4898: 4897: 4857: 4856: 4826: 4825: 4823: 4820: 4819: 4797: 4793: 4778: 4774: 4765: 4761: 4759: 4756: 4755: 4739: 4736: 4735: 4672: 4668: 4653: 4649: 4640: 4636: 4634: 4631: 4630: 4626:elements each.) 4611: 4608: 4607: 4582: 4578: 4570: 4567: 4566: 4550: 4547: 4546: 4513: 4509: 4489: 4486: 4485: 4459: 4456: 4455: 4436: 4433: 4432: 4400: 4396: 4395: 4391: 4383: 4380: 4379: 4350: 4346: 4334: 4333: 4331: 4328: 4327: 4296: 4292: 4272: 4269: 4268: 4251: 4247: 4239: 4236: 4235: 4214: 4211: 4210: 4209:(Set parameter 4164: 4161: 4160: 4137: 4133: 4118: 4114: 4112: 4109: 4108: 4107:is returned if 4092: 4089: 4088: 4067: 4064: 4063: 4041: 4038: 4037: 4016: 4013: 4012: 3990: 3986: 3984: 3981: 3980: 3964: 3961: 3960: 3944: 3941: 3940: 3924: 3921: 3920: 3899: 3896: 3895: 3867: 3864: 3863: 3823: 3822: 3820: 3817: 3816: 3794: 3790: 3776: 3773: 3772: 3751: 3748: 3747: 3725: 3722: 3721: 3700: 3697: 3696: 3680: 3677: 3676: 3651: 3648: 3647: 3631: 3628: 3627: 3580: 3576: 3574: 3571: 3570: 3546: 3543: 3542: 3521: 3517: 3515: 3512: 3511: 3490: 3487: 3486: 3469: 3465: 3463: 3460: 3459: 3437: 3433: 3431: 3428: 3427: 3359: 3355: 3353: 3350: 3349: 3330: 3327: 3326: 3300: 3299: 3297: 3294: 3293: 3272: 3269: 3268: 3252: 3249: 3248: 3224: 3221: 3220: 3204: 3201: 3200: 3184: 3181: 3180: 3158: 3155: 3154: 3138: 3135: 3134: 3111: 3108: 3107: 3091: 3088: 3087: 3076: 3037: 3034: 3033: 2998: 2995: 2994: 2991: 2913: 2909: 2902: 2898: 2886: 2882: 2858: 2847: 2811: 2807: 2806: 2802: 2798: 2788: 2784: 2757: 2746: 2740: 2737: 2736: 2717: 2714: 2713: 2685: 2657: 2641: 2637: 2636: 2607: 2603: 2574: 2570: 2569: 2565: 2561: 2536: 2532: 2531: 2527: 2519: 2516: 2515: 2475: 2472: 2471: 2447: 2443: 2442: 2438: 2431: 2427: 2416: 2413: 2412: 2396: 2393: 2392: 2376: 2373: 2372: 2356: 2353: 2352: 2345: 2282: 2279: 2278: 2262: 2259: 2258: 2242: 2239: 2238: 2222: 2219: 2218: 2184: 2181: 2180: 2164: 2161: 2160: 2123: 2120: 2119: 2099: 2096: 2095: 2073: 2070: 2069: 2053: 2050: 2049: 2046: 2040: 2002: 1999: 1998: 1982: 1979: 1978: 1959: 1956: 1955: 1939: 1936: 1935: 1919: 1916: 1915: 1881: 1878: 1877: 1840: 1837: 1836: 1820: 1817: 1816: 1800: 1797: 1796: 1780: 1777: 1776: 1751: 1748: 1747: 1722: 1719: 1718: 1702: 1699: 1698: 1669: 1665: 1656: 1652: 1643: 1639: 1628: 1625: 1624: 1598: 1594: 1586: 1583: 1582: 1548: 1545: 1544: 1528: 1525: 1524: 1504: 1500: 1491: 1487: 1479: 1476: 1475: 1440: 1437: 1436: 1416: 1412: 1403: 1399: 1391: 1388: 1387: 1371: 1368: 1367: 1350: 1346: 1344: 1341: 1340: 1323: 1319: 1317: 1314: 1313: 1297: 1294: 1293: 1276: 1272: 1270: 1267: 1266: 1243: 1239: 1237: 1234: 1233: 1207: 1203: 1182: 1178: 1176: 1173: 1172: 1149: 1145: 1139: 1135: 1133: 1130: 1129: 1113: 1110: 1109: 1083: 1079: 1058: 1054: 1052: 1049: 1048: 1032: 1029: 1028: 1012: 1009: 1008: 991: 987: 985: 982: 981: 964: 960: 958: 955: 954: 910: 906: 900: 896: 891: 888: 887: 816: 813: 812: 787: 784: 783: 767: 764: 763: 747: 744: 743: 705: 702: 701: 684: 680: 678: 675: 674: 657: 653: 651: 648: 647: 622: 605: 602: 601: 585: 582: 581: 537: 533: 527: 523: 518: 515: 514: 492: 478: 475: 474: 458: 455: 454: 435: 432: 431: 409: 406: 405: 389: 386: 385: 369: 366: 365: 343: 340: 339: 323: 320: 319: 303: 300: 299: 283: 280: 279: 276: 271: 228: 225: 224: 196: 193: 192: 150: 147: 146: 130: 127: 126: 92: 89: 88: 72: 69: 68: 52: 49: 48: 43:to compute the 37:Timothy M. Chan 17: 12: 11: 5: 9029: 9019: 9018: 9002: 9001: 8990:(4): 169–174. 8972: 8943:Matoušek, Jiří 8930: 8913: 8906: 8878: 8865:(4): 361–368. 8839: 8838: 8836: 8833: 8832: 8831: 8824: 8821: 8820: 8819: 8807: 8787: 8784: 8781: 8778: 8775: 8772: 8769: 8757: 8756: 8744: 8741: 8738: 8735: 8732: 8729: 8726: 8706: 8703: 8700: 8697: 8694: 8691: 8688: 8677: 8661: 8641: 8621: 8618: 8615: 8612: 8602:lower envelope 8600:Computing the 8593: 8590: 8589: 8588: 8584: 8581: 8573: 8572:Implementation 8570: 8569: 8568: 8567: 8566: 8565: 8564: 8551: 8539: 8526: 8523: 8520: 8498: 8494: 8490: 8485: 8482: 8479: 8475: 8452: 8449: 8446: 8442: 8421: 8404: 8403: 8402: 8401: 8400: 8399: 8398: 8397: 8396: 8395: 8384: 8379: 8376: 8373: 8369: 8365: 8362: 8359: 8356: 8353: 8350: 8335: 8334: 8333: 8322: 8317: 8313: 8309: 8306: 8303: 8298: 8294: 8290: 8285: 8281: 8277: 8274: 8271: 8258: 8243: 8239: 8216: 8213: 8210: 8206: 8193: 8180: 8177: 8174: 8154: 8129: 8125: 8121: 8116: 8113: 8110: 8106: 8092: 8077: 8073: 8050: 8047: 8044: 8040: 8020: 8019: 8018: 8017: 8016: 8015: 8014: 8013: 8002: 7999: 7994: 7991: 7988: 7984: 7980: 7977: 7974: 7969: 7966: 7963: 7959: 7955: 7950: 7947: 7944: 7940: 7936: 7933: 7928: 7924: 7920: 7915: 7912: 7909: 7905: 7901: 7898: 7895: 7892: 7889: 7886: 7883: 7880: 7877: 7874: 7871: 7868: 7865: 7862: 7859: 7856: 7853: 7850: 7847: 7844: 7841: 7838: 7833: 7830: 7827: 7823: 7812: 7799: 7779: 7774: 7770: 7764: 7761: 7758: 7754: 7750: 7730: 7725: 7722: 7719: 7715: 7711: 7708: 7705: 7700: 7697: 7694: 7690: 7686: 7681: 7678: 7675: 7671: 7667: 7664: 7661: 7642: 7641: 7640: 7639: 7638: 7637: 7636: 7635: 7634: 7633: 7622: 7617: 7613: 7609: 7604: 7600: 7596: 7591: 7588: 7585: 7581: 7577: 7574: 7571: 7568: 7565: 7562: 7559: 7556: 7553: 7550: 7547: 7544: 7541: 7538: 7535: 7532: 7529: 7526: 7523: 7520: 7517: 7514: 7509: 7506: 7503: 7499: 7488: 7475: 7463: 7450: 7428: 7424: 7403: 7400: 7397: 7394: 7391: 7388: 7385: 7380: 7376: 7372: 7367: 7364: 7361: 7357: 7336: 7333: 7330: 7318: 7305: 7302: 7299: 7296: 7293: 7288: 7266: 7263: 7260: 7257: 7254: 7251: 7248: 7245: 7242: 7239: 7236: 7233: 7230: 7227: 7224: 7221: 7218: 7215: 7212: 7209: 7197: 7195:can be used .) 7188: 7173: 7170: 7167: 7163: 7142: 7120: 7116: 7111: 7107: 7081: 7075: 7072: 7069: 7065: 7059: 7055: 7031: 7026: 7022: 7016: 7013: 7010: 7006: 7002: 6990: 6988:is maximized , 6977: 6972: 6968: 6962: 6959: 6956: 6952: 6948: 6926: 6922: 6918: 6915: 6895: 6892: 6889: 6886: 6883: 6880: 6877: 6874: 6871: 6868: 6865: 6862: 6859: 6856: 6853: 6850: 6847: 6844: 6841: 6838: 6812: 6809: 6806: 6803: 6800: 6787: 6774: 6752: 6749: 6746: 6742: 6738: 6735: 6732: 6727: 6724: 6721: 6717: 6713: 6708: 6705: 6702: 6698: 6677: 6665: 6652: 6632: 6612: 6592: 6570: 6567: 6564: 6560: 6556: 6553: 6550: 6545: 6542: 6539: 6535: 6531: 6526: 6523: 6520: 6516: 6503: 6488: 6484: 6463: 6441: 6438: 6435: 6431: 6418: 6403: 6399: 6378: 6366: 6351: 6348: 6345: 6341: 6337: 6334: 6331: 6326: 6323: 6320: 6316: 6312: 6307: 6304: 6301: 6297: 6276: 6256: 6233: 6232: 6231: 6230: 6229: 6228: 6227: 6226: 6211: 6207: 6186: 6167: 6166: 6165: 6164: 6163: 6162: 6148: 6145: 6142: 6139: 6136: 6123: 6110: 6107: 6104: 6101: 6098: 6095: 6090: 6085: 6082: 6077: 6073: 6069: 6066: 6063: 6060: 6055: 6031: 6027: 6023: 6020: 6008: 5996: 5993: 5988: 5984: 5980: 5977: 5972: 5967: 5964: 5957: 5953: 5948: 5944: 5941: 5938: 5935: 5930: 5925: 5922: 5919: 5916: 5913: 5910: 5907: 5902: 5897: 5894: 5891: 5888: 5885: 5881: 5876: 5873: 5868: 5864: 5861: 5856: 5851: 5848: 5845: 5842: 5839: 5836: 5833: 5830: 5825: 5812: 5807: 5794: 5791: 5788: 5785: 5782: 5777: 5763: 5750: 5730: 5727: 5724: 5704: 5684: 5672: 5659: 5637: 5633: 5629: 5626: 5623: 5620: 5608: 5595: 5583: 5570: 5558: 5545: 5529: 5516: 5496: 5476: 5473: 5470: 5467: 5462: 5448: 5435: 5415: 5400: 5396: 5392: 5389: 5386: 5381: 5377: 5373: 5368: 5364: 5341: 5337: 5333: 5330: 5327: 5322: 5318: 5314: 5309: 5305: 5287: 5286: 5285: 5284: 5283: 5282: 5281: 5280: 5269: 5264: 5260: 5256: 5253: 5250: 5247: 5244: 5241: 5238: 5235: 5232: 5229: 5226: 5223: 5220: 5215: 5211: 5200: 5185: 5181: 5158: 5154: 5141: 5128: 5125: 5122: 5119: 5116: 5113: 5108: 5084: 5080: 5059: 5033: 5030: 5027: 5024: 5021: 5008: 4995: 4992: 4989: 4986: 4983: 4980: 4975: 4970: 4967: 4962: 4958: 4954: 4951: 4948: 4945: 4940: 4916: 4912: 4908: 4905: 4893: 4880: 4877: 4874: 4871: 4868: 4865: 4860: 4855: 4852: 4849: 4846: 4843: 4840: 4837: 4834: 4829: 4815: 4800: 4796: 4792: 4789: 4786: 4781: 4777: 4773: 4768: 4764: 4743: 4726: 4725: 4724: 4723: 4722: 4721: 4710: 4707: 4704: 4701: 4698: 4695: 4692: 4689: 4686: 4683: 4680: 4675: 4671: 4667: 4664: 4661: 4656: 4652: 4648: 4643: 4639: 4628: 4615: 4594: 4589: 4586: 4581: 4577: 4574: 4554: 4537: 4536: 4535: 4534: 4533: 4532: 4521: 4516: 4512: 4508: 4505: 4502: 4499: 4496: 4493: 4483: 4472: 4469: 4466: 4463: 4453: 4440: 4423: 4422: 4421: 4420: 4419: 4418: 4403: 4399: 4394: 4390: 4387: 4377: 4364: 4361: 4358: 4353: 4349: 4345: 4342: 4337: 4323: 4309: 4305: 4302: 4299: 4295: 4291: 4288: 4285: 4282: 4279: 4276: 4254: 4250: 4246: 4243: 4231: 4218: 4192: 4189: 4186: 4183: 4180: 4177: 4174: 4171: 4168: 4155: 4140: 4136: 4132: 4127: 4124: 4121: 4117: 4096: 4084: 4071: 4051: 4048: 4045: 4033: 4020: 4008: 3993: 3989: 3968: 3948: 3928: 3916: 3903: 3883: 3880: 3877: 3874: 3871: 3859: 3846: 3843: 3840: 3837: 3834: 3831: 3826: 3812: 3797: 3793: 3789: 3786: 3783: 3780: 3768: 3755: 3735: 3732: 3729: 3717: 3704: 3684: 3672: 3655: 3635: 3620: 3619: 3618: 3617: 3606: 3603: 3600: 3597: 3594: 3591: 3588: 3583: 3579: 3568: 3563: 3550: 3524: 3520: 3507: 3494: 3472: 3468: 3455: 3440: 3436: 3420: 3419: 3418: 3417: 3406: 3403: 3400: 3397: 3394: 3391: 3388: 3385: 3382: 3379: 3376: 3373: 3370: 3367: 3362: 3358: 3347: 3334: 3314: 3311: 3308: 3303: 3289: 3276: 3256: 3241: 3240: 3228: 3208: 3188: 3174: 3162: 3142: 3115: 3095: 3075: 3072: 3059: 3056: 3053: 3050: 3047: 3044: 3041: 3020: 3017: 3014: 3011: 3008: 3005: 3002: 2990: 2987: 2986: 2985: 2974: 2971: 2968: 2965: 2962: 2959: 2956: 2953: 2950: 2946: 2940: 2937: 2934: 2931: 2928: 2925: 2922: 2919: 2916: 2912: 2908: 2905: 2901: 2897: 2894: 2889: 2885: 2879: 2876: 2873: 2870: 2867: 2864: 2861: 2856: 2853: 2850: 2846: 2842: 2839: 2836: 2833: 2830: 2826: 2821: 2814: 2810: 2805: 2801: 2797: 2794: 2791: 2787: 2783: 2778: 2775: 2772: 2769: 2766: 2763: 2760: 2755: 2752: 2749: 2745: 2721: 2710: 2709: 2698: 2694: 2691: 2688: 2684: 2681: 2678: 2675: 2671: 2666: 2663: 2660: 2656: 2653: 2650: 2644: 2640: 2635: 2632: 2628: 2624: 2621: 2618: 2615: 2610: 2606: 2601: 2597: 2594: 2591: 2588: 2584: 2577: 2573: 2568: 2564: 2560: 2557: 2553: 2549: 2546: 2539: 2535: 2530: 2526: 2523: 2500: 2497: 2494: 2491: 2488: 2485: 2482: 2479: 2458: 2450: 2446: 2441: 2437: 2434: 2430: 2426: 2423: 2420: 2400: 2380: 2360: 2344: 2341: 2328: 2325: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2266: 2246: 2226: 2206: 2203: 2200: 2197: 2194: 2191: 2188: 2168: 2145: 2142: 2139: 2136: 2133: 2130: 2127: 2116:Jarvis's march 2103: 2083: 2080: 2077: 2057: 2045: 2037: 2024: 2021: 2018: 2015: 2012: 2009: 2006: 1986: 1963: 1943: 1923: 1903: 1900: 1897: 1894: 1891: 1888: 1885: 1865: 1862: 1859: 1856: 1853: 1850: 1847: 1844: 1824: 1804: 1784: 1764: 1761: 1758: 1755: 1735: 1732: 1729: 1726: 1706: 1684: 1681: 1678: 1675: 1672: 1668: 1664: 1659: 1655: 1651: 1646: 1642: 1638: 1635: 1632: 1612: 1609: 1606: 1601: 1597: 1593: 1590: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1532: 1512: 1507: 1503: 1499: 1494: 1490: 1486: 1483: 1459: 1456: 1453: 1450: 1447: 1444: 1424: 1419: 1415: 1411: 1406: 1402: 1398: 1395: 1375: 1353: 1349: 1326: 1322: 1301: 1279: 1275: 1252: 1249: 1246: 1242: 1221: 1218: 1215: 1210: 1206: 1202: 1199: 1196: 1191: 1188: 1185: 1181: 1158: 1155: 1152: 1148: 1142: 1138: 1117: 1097: 1094: 1091: 1086: 1082: 1078: 1075: 1072: 1067: 1064: 1061: 1057: 1036: 1016: 994: 990: 967: 963: 940: 937: 934: 931: 928: 925: 922: 919: 916: 913: 909: 903: 899: 895: 884:Jarvis's march 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 800: 797: 794: 791: 771: 751: 727: 724: 721: 718: 715: 712: 709: 687: 683: 660: 656: 632: 629: 625: 621: 618: 615: 612: 609: 589: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 536: 530: 526: 522: 502: 499: 495: 491: 488: 485: 482: 462: 439: 419: 416: 413: 393: 373: 353: 350: 347: 327: 307: 287: 275: 272: 270: 267: 250: 247: 244: 241: 238: 235: 232: 212: 209: 206: 203: 200: 172: 169: 166: 163: 160: 157: 154: 134: 114: 111: 108: 105: 102: 99: 96: 76: 56: 35:, named after 15: 9: 6: 4: 3: 2: 9028: 9017: 9014: 9013: 9011: 8997: 8993: 8989: 8985: 8984: 8976: 8967: 8962: 8958: 8954: 8953: 8948: 8944: 8940: 8934: 8927: 8923: 8917: 8909: 8903: 8898: 8893: 8889: 8882: 8873: 8868: 8864: 8860: 8859: 8854: 8847: 8845: 8840: 8830: 8827: 8826: 8805: 8782: 8779: 8776: 8773: 8767: 8759: 8758: 8739: 8736: 8733: 8730: 8724: 8701: 8698: 8695: 8692: 8686: 8678: 8675: 8659: 8639: 8616: 8610: 8603: 8599: 8598: 8597: 8585: 8582: 8579: 8578: 8577: 8563: 8549: 8540: 8538: 8524: 8521: 8518: 8496: 8492: 8488: 8483: 8480: 8477: 8473: 8450: 8447: 8444: 8440: 8419: 8410: 8409: 8408: 8407: 8406: 8405: 8377: 8374: 8371: 8367: 8363: 8360: 8354: 8351: 8348: 8341: 8340: 8339: 8336: 8315: 8311: 8307: 8304: 8301: 8296: 8292: 8288: 8283: 8279: 8272: 8269: 8262: 8259: 8257: 8241: 8237: 8214: 8211: 8208: 8204: 8194: 8192: 8178: 8175: 8172: 8152: 8143: 8142: 8127: 8123: 8119: 8114: 8111: 8108: 8104: 8096: 8093: 8091: 8075: 8071: 8048: 8045: 8042: 8038: 8028: 8027: 8026: 8025: 8024: 8023: 8022: 8021: 7992: 7989: 7986: 7982: 7978: 7975: 7972: 7967: 7964: 7961: 7957: 7953: 7948: 7945: 7942: 7938: 7931: 7926: 7922: 7918: 7913: 7910: 7907: 7903: 7896: 7893: 7890: 7887: 7884: 7878: 7875: 7869: 7866: 7863: 7860: 7854: 7851: 7848: 7845: 7842: 7839: 7836: 7831: 7828: 7825: 7821: 7813: 7811: 7797: 7777: 7772: 7768: 7762: 7759: 7756: 7752: 7748: 7723: 7720: 7717: 7713: 7709: 7706: 7703: 7698: 7695: 7692: 7688: 7684: 7679: 7676: 7673: 7669: 7662: 7659: 7650: 7649: 7648: 7647: 7646: 7645: 7644: 7643: 7615: 7611: 7607: 7602: 7598: 7594: 7589: 7586: 7583: 7579: 7572: 7569: 7566: 7563: 7560: 7557: 7551: 7548: 7545: 7542: 7539: 7536: 7530: 7527: 7524: 7521: 7518: 7515: 7512: 7507: 7504: 7501: 7497: 7489: 7487: 7473: 7464: 7462: 7448: 7426: 7422: 7398: 7395: 7389: 7383: 7378: 7374: 7370: 7365: 7362: 7359: 7355: 7334: 7331: 7328: 7319: 7317: 7300: 7297: 7294: 7264: 7261: 7258: 7255: 7252: 7249: 7243: 7240: 7237: 7234: 7231: 7228: 7222: 7219: 7216: 7213: 7210: 7207: 7198: 7196: 7194: 7189: 7187: 7171: 7168: 7165: 7161: 7153:is stored in 7140: 7118: 7114: 7109: 7105: 7079: 7073: 7070: 7067: 7063: 7057: 7053: 7029: 7024: 7020: 7014: 7011: 7008: 7004: 7000: 6991: 6989: 6975: 6970: 6966: 6960: 6957: 6954: 6950: 6946: 6924: 6920: 6916: 6913: 6893: 6890: 6887: 6884: 6881: 6878: 6872: 6869: 6866: 6863: 6860: 6857: 6851: 6848: 6845: 6842: 6839: 6836: 6827: 6826: 6825: 6810: 6807: 6804: 6801: 6798: 6791: 6788: 6786: 6772: 6750: 6747: 6744: 6740: 6736: 6733: 6730: 6725: 6722: 6719: 6715: 6711: 6706: 6703: 6700: 6696: 6675: 6666: 6664: 6650: 6630: 6610: 6590: 6568: 6565: 6562: 6558: 6554: 6551: 6548: 6543: 6540: 6537: 6533: 6529: 6524: 6521: 6518: 6514: 6504: 6502: 6486: 6482: 6461: 6439: 6436: 6433: 6429: 6419: 6417: 6401: 6397: 6376: 6367: 6365: 6349: 6346: 6343: 6339: 6335: 6332: 6329: 6324: 6321: 6318: 6314: 6310: 6305: 6302: 6299: 6295: 6274: 6254: 6246: 6241: 6240: 6239: 6238: 6237: 6236: 6235: 6234: 6225: 6209: 6205: 6184: 6175: 6174: 6173: 6172: 6171: 6170: 6169: 6168: 6161: 6146: 6143: 6140: 6137: 6134: 6127: 6124: 6122: 6105: 6102: 6099: 6096: 6083: 6075: 6071: 6067: 6064: 6061: 6029: 6025: 6021: 6018: 6009: 6007: 5994: 5986: 5982: 5978: 5965: 5955: 5951: 5946: 5942: 5939: 5936: 5923: 5917: 5914: 5911: 5908: 5895: 5889: 5886: 5883: 5879: 5874: 5871: 5866: 5862: 5849: 5843: 5840: 5837: 5834: 5831: 5813: 5811: 5808: 5806: 5789: 5786: 5783: 5764: 5762: 5748: 5728: 5725: 5722: 5702: 5682: 5673: 5671: 5657: 5635: 5631: 5627: 5624: 5621: 5618: 5609: 5607: 5593: 5584: 5582: 5568: 5559: 5557: 5543: 5535: 5530: 5528: 5514: 5494: 5471: 5468: 5449: 5447: 5433: 5425: 5421: 5416: 5414: 5398: 5394: 5390: 5387: 5384: 5379: 5375: 5371: 5366: 5362: 5339: 5335: 5331: 5328: 5325: 5320: 5316: 5312: 5307: 5303: 5293: 5292: 5291: 5290: 5289: 5288: 5262: 5258: 5251: 5248: 5245: 5242: 5236: 5233: 5230: 5227: 5224: 5221: 5218: 5213: 5209: 5201: 5199: 5183: 5179: 5156: 5152: 5142: 5140: 5123: 5120: 5117: 5114: 5082: 5078: 5057: 5048: 5047: 5046: 5031: 5028: 5025: 5022: 5019: 5012: 5009: 5007: 4990: 4987: 4984: 4981: 4968: 4960: 4956: 4952: 4949: 4946: 4914: 4910: 4906: 4903: 4894: 4892: 4875: 4872: 4869: 4866: 4853: 4847: 4844: 4841: 4838: 4835: 4816: 4814: 4798: 4794: 4790: 4787: 4784: 4779: 4775: 4771: 4766: 4762: 4741: 4732: 4731: 4730: 4729: 4728: 4727: 4705: 4702: 4699: 4693: 4690: 4687: 4684: 4681: 4678: 4673: 4669: 4665: 4662: 4659: 4654: 4650: 4646: 4641: 4637: 4629: 4627: 4613: 4592: 4587: 4584: 4579: 4575: 4572: 4552: 4543: 4542: 4541: 4540: 4539: 4538: 4514: 4510: 4506: 4503: 4497: 4494: 4491: 4484: 4464: 4461: 4454: 4452: 4438: 4429: 4428: 4427: 4426: 4425: 4424: 4401: 4397: 4392: 4388: 4385: 4378: 4376: 4359: 4356: 4351: 4347: 4343: 4324: 4322: 4307: 4303: 4300: 4297: 4293: 4289: 4286: 4283: 4280: 4277: 4274: 4252: 4248: 4244: 4241: 4232: 4230: 4216: 4207: 4206: 4205: 4190: 4187: 4184: 4181: 4178: 4175: 4172: 4169: 4166: 4159: 4156: 4154: 4138: 4134: 4130: 4125: 4122: 4119: 4115: 4094: 4085: 4083: 4069: 4049: 4046: 4043: 4034: 4032: 4018: 4009: 4007: 3991: 3987: 3966: 3946: 3926: 3917: 3915: 3901: 3881: 3878: 3875: 3872: 3869: 3860: 3858: 3841: 3838: 3835: 3832: 3813: 3811: 3795: 3791: 3787: 3784: 3781: 3778: 3769: 3767: 3753: 3733: 3730: 3727: 3718: 3716: 3702: 3682: 3673: 3671: 3669: 3653: 3633: 3624: 3623: 3622: 3621: 3601: 3598: 3592: 3586: 3581: 3577: 3569: 3567: 3564: 3562: 3548: 3540: 3522: 3518: 3508: 3506: 3492: 3470: 3466: 3456: 3454: 3438: 3434: 3424: 3423: 3422: 3421: 3401: 3395: 3392: 3389: 3386: 3383: 3377: 3374: 3371: 3368: 3365: 3360: 3356: 3348: 3346: 3332: 3309: 3290: 3288: 3274: 3254: 3245: 3244: 3243: 3242: 3226: 3206: 3186: 3178: 3175: 3160: 3140: 3132: 3129: 3128: 3127: 3113: 3093: 3085: 3081: 3071: 3054: 3051: 3048: 3045: 3039: 3015: 3012: 3009: 3006: 3000: 2972: 2966: 2963: 2960: 2957: 2951: 2948: 2944: 2935: 2932: 2929: 2926: 2923: 2917: 2914: 2910: 2906: 2903: 2899: 2895: 2892: 2887: 2883: 2874: 2871: 2868: 2865: 2862: 2854: 2851: 2848: 2844: 2837: 2831: 2828: 2824: 2819: 2812: 2808: 2803: 2799: 2795: 2792: 2789: 2785: 2781: 2773: 2770: 2767: 2764: 2761: 2753: 2750: 2747: 2743: 2735: 2734: 2733: 2719: 2696: 2692: 2689: 2686: 2682: 2679: 2676: 2673: 2664: 2661: 2658: 2654: 2651: 2648: 2642: 2638: 2633: 2630: 2622: 2619: 2616: 2613: 2608: 2604: 2595: 2592: 2589: 2586: 2582: 2575: 2571: 2566: 2562: 2558: 2555: 2547: 2544: 2537: 2533: 2528: 2524: 2521: 2514: 2513: 2512: 2495: 2492: 2489: 2486: 2483: 2477: 2456: 2448: 2444: 2439: 2435: 2432: 2428: 2421: 2418: 2398: 2378: 2358: 2351:the value of 2350: 2340: 2323: 2320: 2317: 2314: 2308: 2305: 2299: 2296: 2293: 2290: 2284: 2264: 2244: 2224: 2201: 2198: 2195: 2192: 2186: 2166: 2157: 2140: 2137: 2134: 2131: 2125: 2117: 2101: 2081: 2078: 2075: 2055: 2043: 2036: 2019: 2016: 2013: 2010: 2004: 1984: 1975: 1961: 1941: 1921: 1898: 1895: 1892: 1889: 1883: 1860: 1857: 1854: 1851: 1848: 1842: 1822: 1802: 1782: 1759: 1753: 1730: 1724: 1704: 1682: 1679: 1676: 1673: 1670: 1657: 1653: 1649: 1644: 1640: 1633: 1607: 1604: 1599: 1595: 1588: 1565: 1562: 1559: 1556: 1550: 1530: 1505: 1501: 1497: 1492: 1488: 1481: 1473: 1472:binary search 1454: 1451: 1448: 1442: 1417: 1413: 1409: 1404: 1400: 1393: 1373: 1351: 1347: 1324: 1320: 1299: 1277: 1273: 1250: 1247: 1244: 1240: 1216: 1213: 1208: 1204: 1197: 1194: 1189: 1186: 1183: 1179: 1156: 1153: 1150: 1146: 1140: 1136: 1115: 1092: 1089: 1084: 1080: 1073: 1070: 1065: 1062: 1059: 1055: 1034: 1014: 992: 988: 965: 961: 938: 935: 932: 929: 926: 923: 920: 917: 914: 911: 901: 897: 885: 880: 863: 860: 857: 854: 848: 845: 839: 836: 833: 830: 824: 821: 818: 795: 789: 769: 749: 741: 722: 719: 716: 713: 707: 685: 681: 658: 654: 644: 627: 623: 619: 613: 610: 607: 587: 580:with at most 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 528: 524: 497: 493: 489: 483: 480: 460: 451: 437: 417: 414: 411: 391: 371: 351: 348: 345: 325: 305: 285: 266: 264: 245: 242: 239: 236: 230: 207: 204: 198: 190: 186: 167: 164: 161: 158: 152: 132: 109: 106: 103: 100: 94: 74: 54: 46: 42: 38: 34: 30: 21: 8987: 8981: 8975: 8956: 8950: 8933: 8916: 8887: 8881: 8862: 8856: 8595: 8575: 8541: 8411: 8337: 8260: 8195: 8144: 8094: 8029: 7651: 7465: 7320: 7199: 7190: 6992: 6828: 6823: 6789: 6667: 6623:, there are 6505: 6420: 6368: 6244: 6242: 6176: 6159: 6125: 6010: 5814: 5809: 5765: 5674: 5610: 5585: 5560: 5531: 5487:time, where 5450: 5424:Jarvis march 5423: 5419: 5418:(Now, use a 5417: 5294: 5143: 5049: 5044: 5010: 4895: 4817: 4733: 4544: 4430: 4325: 4233: 4208: 4203: 4157: 4086: 4035: 4010: 3918: 3861: 3814: 3770: 3719: 3674: 3667: 3625: 3565: 3538: 3509: 3457: 3425: 3291: 3246: 3176: 3130: 3084:Jarvis march 3077: 2992: 2711: 2348: 2346: 2158: 2047: 2041: 1976: 1934:is close to 1523:for all the 881: 645: 452: 338:). Ideally, 277: 189:Jarvis march 125:time, where 32: 26: 3541:a point of 3080:Graham scan 782:subsets of 740:Graham scan 700:, using an 185:Graham scan 183:algorithm ( 45:convex hull 8835:References 8592:Extensions 8587:increased. 8412:(If after 6583:depend on 4818:(It takes 3074:Pseudocode 8959:: 27–32. 8780:⁡ 8737:⁡ 8699:⁡ 8674:trapezoid 8632:of a set 8305:… 7976:… 7911:− 7882:_ 7873:_ 7858:_ 7760:− 7749:∡ 7707:… 7663:∈ 7587:− 7555:_ 7534:_ 7393:∞ 7390:− 7363:− 7298:⁡ 7247:_ 7226:_ 7119:→ 7080:→ 7071:− 7012:− 7001:∡ 6958:− 6947:∡ 6917:∈ 6876:_ 6855:_ 6808:≤ 6802:≤ 6734:… 6552:… 6421:that is, 6333:… 6144:≤ 6138:≤ 6103:⁡ 6068:⁡ 6022:≤ 5943:⁡ 5915:⁡ 5887:⁡ 5841:⁡ 5787:⁡ 5628:≤ 5622:≤ 5611:(We want 5388:… 5329:… 5240:_ 5121:⁡ 5029:≤ 5023:≤ 4988:⁡ 4953:⁡ 4907:≤ 4873:⁡ 4845:⁡ 4788:… 4663:… 4357:⁡ 4301:⁡ 4287:… 4188:⁡ 4182:⁡ 4176:≤ 4170:≤ 4047:≠ 3879:⁡ 3873:⁡ 3839:⁡ 3788:≤ 3782:≤ 3731:≤ 3596:∞ 3593:− 3381:_ 3052:⁡ 3013:⁡ 2964:⁡ 2939:⌉ 2933:⁡ 2927:⁡ 2921:⌈ 2907:⋅ 2878:⌉ 2872:⁡ 2866:⁡ 2860:⌈ 2845:∑ 2796:⁡ 2777:⌉ 2771:⁡ 2765:⁡ 2759:⌈ 2744:∑ 2690:⁡ 2683:⁡ 2677:≥ 2670:⟺ 2662:⁡ 2655:⁡ 2649:≥ 2634:⁡ 2627:⟺ 2620:⁡ 2614:≥ 2600:⟺ 2593:⁡ 2587:≥ 2559:⁡ 2552:⟺ 2545:≥ 2493:⁡ 2487:⁡ 2321:⁡ 2297:⁡ 2217:time. If 2199:⁡ 2138:⁡ 2017:⁡ 1896:⁡ 1858:⁡ 1680:≤ 1674:≤ 1563:⁡ 1452:⁡ 861:⁡ 837:⁡ 822:⋅ 742:), where 720:⁡ 501:⌉ 487:⌈ 415:≥ 269:Algorithm 243:⁡ 165:⁡ 107:⁡ 47:of a set 9010:Category 8945:(1995). 8823:See also 8191:points.) 5880:⌉ 5867:⌈ 4593:⌉ 4580:⌈ 4308:⌉ 4294:⌈ 3173:points . 1914:time if 1470:time by 513:subsets 274:Overview 8928:, 1996. 8511:, then 7133:. Such 6506:(Note: 5715:, i.e. 5422:of the 3670:known.) 3626:(Note: 3510:(Note: 3177:Output: 8904:  8261:return 7316:time.) 6993:where 6247:loop, 5139:time.) 4891:time.) 4267:, for 3131:Input: 2349:square 2035:time. 879:time. 8926:INRIA 5805:time. 4565:into 3666:, is 3199:with 3153:with 473:into 8902:ISBN 8522:< 8338:else 7414:and 7094:and 5726:< 3179:Set 3133:Set 3082:and 2306:> 2079:< 1292:and 364:but 8992:doi 8961:doi 8892:doi 8867:doi 8777:log 8734:log 8696:log 8652:of 7295:log 6790:for 6245:for 6126:for 6100:log 6065:log 6011:If 5940:log 5912:log 5884:log 5838:log 5784:log 5118:log 5011:for 4985:log 4950:log 4896:If 4870:log 4842:log 4348:log 4298:log 4185:log 4179:log 4158:for 3876:log 3870:log 3836:log 3668:not 3539:not 3537:is 3049:log 3010:log 2961:log 2930:log 2924:log 2869:log 2863:log 2793:log 2768:log 2762:log 2687:log 2680:log 2659:log 2652:log 2631:log 2617:log 2590:log 2556:log 2490:log 2484:log 2425:min 2318:log 2294:log 2196:log 2135:log 2014:log 1893:log 1855:log 1560:log 1449:log 1435:in 858:log 834:log 717:log 450:). 240:log 162:log 104:log 67:of 27:In 9012:: 8988:33 8986:. 8955:. 8949:. 8941:; 8900:. 8863:16 8861:. 8855:. 8843:^ 8562:.) 8537:.) 8489:== 8273::= 8256:.) 8120:== 8095:if 8090:.) 7837::= 7810:.) 7513::= 7347:, 7186:.) 6824:do 6785:.) 6663:.) 6501:.) 6287:, 6224:.) 6160:do 6121:.) 5556:.) 5446:.) 5219::= 5198:.) 5070:, 5045:do 5006:.) 4813:.) 4679::= 4465::= 4389::= 4375:.) 4204:do 4153:.) 4131:== 4006:.) 3914:.) 3857:.) 3766:.) 3715:.) 3587::= 3561:.) 3505:.) 3366::= 3345:.) 3126:. 3070:. 2411:, 2339:. 1339:, 643:. 31:, 8998:. 8994:: 8969:. 8963:: 8957:5 8910:. 8894:: 8875:. 8869:: 8818:. 8806:n 8786:) 8783:h 8774:n 8771:( 8768:O 8743:) 8740:h 8731:n 8728:( 8725:O 8705:) 8702:n 8693:n 8690:( 8687:O 8660:n 8640:S 8620:) 8617:S 8614:( 8611:L 8550:m 8525:h 8519:m 8497:1 8493:p 8484:1 8481:+ 8478:i 8474:p 8451:1 8448:+ 8445:i 8441:p 8420:m 8383:) 8378:1 8375:+ 8372:i 8368:p 8364:, 8361:C 8358:( 8355:D 8352:D 8349:A 8321:) 8316:i 8312:p 8308:, 8302:, 8297:2 8293:p 8289:, 8284:1 8280:p 8276:( 8270:C 8242:1 8238:p 8215:1 8212:+ 8209:i 8205:p 8179:h 8176:= 8173:i 8153:P 8128:1 8124:p 8115:1 8112:+ 8109:i 8105:p 8076:1 8072:p 8049:1 8046:+ 8043:i 8039:p 8001:) 7998:) 7993:K 7990:, 7987:i 7983:q 7979:, 7973:, 7968:2 7965:, 7962:i 7958:q 7954:, 7949:1 7946:, 7943:i 7939:q 7935:( 7932:, 7927:i 7923:p 7919:, 7914:1 7908:i 7904:p 7900:( 7897:T 7894:N 7891:I 7888:O 7885:P 7879:H 7876:C 7870:T 7867:X 7864:E 7861:N 7855:S 7852:I 7849:V 7846:R 7843:A 7840:J 7832:1 7829:+ 7826:i 7822:p 7798:P 7778:z 7773:i 7769:p 7763:1 7757:i 7753:p 7729:} 7724:K 7721:, 7718:i 7714:q 7710:, 7704:, 7699:2 7696:, 7693:i 7689:q 7685:, 7680:1 7677:, 7674:i 7670:q 7666:{ 7660:z 7621:) 7616:k 7612:C 7608:, 7603:i 7599:p 7595:, 7590:1 7584:i 7580:p 7576:( 7573:H 7570:C 7567:R 7564:A 7561:E 7558:S 7552:Y 7549:R 7546:A 7543:N 7540:I 7537:B 7531:S 7528:I 7525:V 7522:R 7519:A 7516:J 7508:k 7505:, 7502:i 7498:q 7474:P 7461:: 7449:P 7427:1 7423:p 7402:) 7399:0 7396:, 7387:( 7384:= 7379:0 7375:p 7371:= 7366:1 7360:i 7356:p 7335:1 7332:= 7329:i 7304:) 7301:m 7292:( 7287:O 7265:H 7262:C 7259:R 7256:A 7253:E 7250:S 7244:Y 7241:R 7238:A 7235:N 7232:I 7229:B 7223:S 7220:I 7217:V 7214:R 7211:A 7208:J 7200:( 7172:k 7169:, 7166:i 7162:q 7141:d 7115:d 7110:i 7106:p 7074:1 7068:i 7064:p 7058:i 7054:p 7030:d 7025:i 7021:p 7015:1 7009:i 7005:p 6976:d 6971:i 6967:p 6961:1 6955:i 6951:p 6925:k 6921:C 6914:d 6894:H 6891:C 6888:R 6885:A 6882:E 6879:S 6873:Y 6870:R 6867:A 6864:N 6861:I 6858:B 6852:S 6849:I 6846:V 6843:R 6840:A 6837:J 6829:( 6811:K 6805:k 6799:1 6773:P 6751:K 6748:, 6745:i 6741:q 6737:, 6731:, 6726:2 6723:, 6720:i 6716:q 6712:, 6707:1 6704:, 6701:i 6697:q 6676:i 6651:P 6631:K 6611:i 6591:i 6569:K 6566:, 6563:i 6559:q 6555:, 6549:, 6544:2 6541:, 6538:i 6534:q 6530:, 6525:1 6522:, 6519:i 6515:q 6487:k 6483:C 6462:P 6440:k 6437:, 6434:i 6430:q 6416:: 6402:k 6398:C 6377:K 6350:K 6347:, 6344:i 6340:q 6336:, 6330:, 6325:2 6322:, 6319:i 6315:q 6311:, 6306:1 6303:, 6300:i 6296:q 6275:P 6255:K 6210:1 6206:p 6185:P 6147:m 6141:i 6135:1 6109:) 6106:h 6097:n 6094:( 6089:O 6084:= 6081:) 6076:2 6072:h 6062:n 6059:( 6054:O 6030:2 6026:h 6019:m 5995:. 5992:) 5987:t 5983:2 5979:n 5976:( 5971:O 5966:= 5963:) 5956:t 5952:2 5947:2 5937:n 5934:( 5929:O 5924:= 5921:) 5918:m 5909:n 5906:( 5901:O 5896:= 5893:) 5890:m 5875:m 5872:n 5863:m 5860:( 5855:O 5850:= 5847:) 5844:m 5835:K 5832:m 5829:( 5824:O 5793:) 5790:m 5781:( 5776:O 5749:P 5729:h 5723:m 5703:h 5683:m 5658:m 5636:2 5632:h 5625:m 5619:h 5594:n 5569:h 5544:h 5515:h 5495:n 5475:) 5472:h 5469:n 5466:( 5461:O 5434:P 5399:K 5395:Q 5391:, 5385:, 5380:2 5376:Q 5372:, 5367:1 5363:Q 5340:K 5336:C 5332:, 5326:, 5321:2 5317:C 5313:, 5308:1 5304:C 5268:) 5263:k 5259:Q 5255:( 5252:N 5249:A 5246:C 5243:S 5237:M 5234:A 5231:H 5228:A 5225:R 5222:G 5214:k 5210:C 5184:k 5180:Q 5157:k 5153:C 5144:( 5127:) 5124:m 5115:m 5112:( 5107:O 5083:k 5079:Q 5058:k 5032:K 5026:k 5020:1 4994:) 4991:h 4982:n 4979:( 4974:O 4969:= 4966:) 4961:2 4957:h 4947:n 4944:( 4939:O 4915:2 4911:h 4904:m 4879:) 4876:m 4867:n 4864:( 4859:O 4854:= 4851:) 4848:m 4839:m 4836:K 4833:( 4828:O 4799:K 4795:Q 4791:, 4785:, 4780:2 4776:Q 4772:, 4767:1 4763:Q 4742:K 4709:) 4706:m 4703:, 4700:P 4697:( 4694:T 4691:I 4688:L 4685:P 4682:S 4674:K 4670:Q 4666:, 4660:, 4655:2 4651:Q 4647:, 4642:1 4638:Q 4614:m 4588:m 4585:n 4576:= 4573:K 4553:P 4520:) 4515:1 4511:p 4507:, 4504:C 4501:( 4498:D 4495:D 4492:A 4471:) 4468:( 4462:C 4439:P 4402:t 4398:2 4393:2 4386:m 4363:) 4360:h 4352:2 4344:n 4341:( 4336:O 4321:. 4304:h 4290:, 4284:, 4281:1 4278:= 4275:t 4253:t 4249:2 4245:= 4242:m 4217:m 4191:n 4173:t 4167:1 4139:1 4135:p 4126:1 4123:+ 4120:i 4116:p 4095:C 4070:m 4050:h 4044:m 4019:h 3992:2 3988:h 3967:h 3947:h 3927:m 3902:m 3882:n 3845:) 3842:h 3833:n 3830:( 3825:O 3796:2 3792:h 3785:m 3779:h 3754:P 3734:m 3728:h 3720:( 3703:h 3683:m 3654:P 3634:h 3605:) 3602:0 3599:, 3590:( 3582:0 3578:p 3549:P 3523:0 3519:p 3493:P 3471:2 3467:p 3439:0 3435:p 3426:( 3405:) 3402:P 3399:( 3396:T 3393:R 3390:A 3387:T 3384:S 3378:K 3375:C 3372:I 3369:P 3361:1 3357:p 3333:P 3313:) 3310:n 3307:( 3302:O 3275:C 3255:P 3239:. 3227:P 3207:h 3187:C 3161:n 3141:P 3114:P 3094:C 3058:) 3055:h 3046:n 3043:( 3040:O 3019:) 3016:n 3007:n 3004:( 3001:O 2973:. 2970:) 2967:h 2958:n 2955:( 2952:O 2949:= 2945:) 2936:h 2918:+ 2915:1 2911:2 2904:n 2900:( 2896:O 2893:= 2888:t 2884:2 2875:h 2855:0 2852:= 2849:t 2841:) 2838:n 2835:( 2832:O 2829:= 2825:) 2820:) 2813:t 2809:2 2804:2 2800:( 2790:n 2786:( 2782:O 2774:h 2754:0 2751:= 2748:t 2720:2 2697:, 2693:h 2674:t 2665:h 2643:t 2639:2 2623:h 2609:t 2605:2 2596:h 2583:) 2576:t 2572:2 2567:2 2563:( 2548:h 2538:t 2534:2 2529:2 2525:= 2522:m 2499:) 2496:h 2481:( 2478:O 2457:) 2449:t 2445:2 2440:2 2436:, 2433:n 2429:( 2422:= 2419:m 2399:t 2379:n 2359:m 2327:) 2324:h 2315:n 2312:( 2309:O 2303:) 2300:m 2291:n 2288:( 2285:O 2265:h 2245:m 2225:m 2205:) 2202:m 2193:n 2190:( 2187:O 2167:m 2144:) 2141:m 2132:n 2129:( 2126:O 2102:m 2082:h 2076:m 2056:m 2042:m 2023:) 2020:h 2011:n 2008:( 2005:O 1985:n 1962:m 1942:h 1922:m 1902:) 1899:h 1890:n 1887:( 1884:O 1864:) 1861:m 1852:h 1849:K 1846:( 1843:O 1823:P 1803:h 1783:h 1763:) 1760:h 1757:( 1754:O 1734:) 1731:K 1728:( 1725:O 1705:P 1683:K 1677:k 1671:1 1667:) 1663:) 1658:k 1654:Q 1650:, 1645:i 1641:p 1637:( 1634:f 1631:( 1611:) 1608:P 1605:, 1600:i 1596:p 1592:( 1589:f 1569:) 1566:m 1557:K 1554:( 1551:O 1531:K 1511:) 1506:k 1502:Q 1498:, 1493:i 1489:p 1485:( 1482:f 1458:) 1455:m 1446:( 1443:O 1423:) 1418:k 1414:Q 1410:, 1405:i 1401:p 1397:( 1394:f 1374:m 1352:k 1348:C 1325:k 1321:Q 1300:P 1278:i 1274:p 1251:1 1248:+ 1245:i 1241:p 1220:) 1217:P 1214:, 1209:i 1205:p 1201:( 1198:f 1195:= 1190:1 1187:+ 1184:i 1180:p 1157:1 1154:+ 1151:i 1147:p 1141:i 1137:p 1116:P 1096:) 1093:P 1090:, 1085:i 1081:p 1077:( 1074:f 1071:= 1066:1 1063:+ 1060:i 1056:p 1035:P 1015:P 993:i 989:p 966:i 962:p 939:K 936:. 933:. 930:. 927:, 924:2 921:, 918:1 915:= 912:k 908:) 902:k 898:C 894:( 867:) 864:m 855:n 852:( 849:O 846:= 843:) 840:m 831:m 828:( 825:O 819:K 799:) 796:m 793:( 790:O 770:K 750:p 726:) 723:p 714:p 711:( 708:O 686:k 682:C 659:k 655:Q 631:) 628:m 624:/ 620:n 617:( 614:O 611:= 608:K 588:m 566:K 563:. 560:. 557:. 554:, 551:2 548:, 545:1 542:= 539:k 535:) 529:k 525:Q 521:( 498:m 494:/ 490:n 484:= 481:K 461:P 438:m 418:h 412:m 392:m 372:h 352:h 349:= 346:m 326:P 306:n 286:m 249:) 246:h 237:n 234:( 231:O 211:) 208:h 205:n 202:( 199:O 191:( 171:) 168:n 159:n 156:( 153:O 133:h 113:) 110:h 101:n 98:( 95:O 75:n 55:P

Index


computational geometry
Timothy M. Chan
output-sensitive algorithm
convex hull
Graham scan
Jarvis march
Kirkpatrick–Seidel algorithm
Graham scan
Jarvis's march
binary search
Jarvis's march
Graham scan
Jarvis march
output-sensitive algorithm
orientation test
lower envelope
trapezoid
Convex hull algorithms


"Optimal output-sensitive convex hull algorithms in two and three dimensions"
Discrete & Computational Geometry
doi
10.1007/BF02712873
doi
10.1007/978-3-540-46515-7_21
ISBN
978-3-540-67181-7
Adaptive Computational Geometry

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.