Изменения

Перейти к: навигация, поиск
Ссылки
k = 2
for p = 3..n
while S[k - 1], S[k], S[p] has non-right orientationand k > 1
k--
swap(S[p], S[k + 1]) k++
return k + 1
* [http://en.wikipedia.org/wiki/Graham_scan#Notes Одно предложение о нем]
* [https://en.wikibooks.org/wiki/Algorithm_Implementation/Geometry/Convex_hull/Monotone_chain Имплементация на 13 языках]
= Алгоритм Чена =
== Реализация ==
Заметим, что длина высоты, опущенная из точки <tex>t</tex> на отрезок <tex>ab</tex>, пропорциональна векторному произведению <tex>[bt \cdot ba]</tex>, поэтому для сравнения можно использовать именно это. Векторное произведение эквивалентно предикату поворота, поэтому можно так же использовать и его.
== Псевдокод ==
Анонимный участник

Навигация