Скачать презентацию Метод Грэхема Гольбек Милена ПКС-121 Алгоритм Грэхема Скачать презентацию Метод Грэхема Гольбек Милена ПКС-121 Алгоритм Грэхема

Метод Грэхема.Гольбек.Пкс-121.ppt

  • Количество слайдов: 5

Метод Грэхема Гольбек Милена ПКС-121 Метод Грэхема Гольбек Милена ПКС-121

Алгоритм Грэхема n Алгоритм Грэхема — алгоритм построения выпуклой оболочки в двумерном пространстве. В Алгоритм Грэхема n Алгоритм Грэхема — алгоритм построения выпуклой оболочки в двумерном пространстве. В этом алгоритме задача о выпуклой оболочке решается с помощью стека, сформированного из точек-кандидатов. Все точки входного множества заносятся в стек, а потом точки, не являющиеся вершинами выпуклой оболочки, со временем удаляются из него. По завершении работы алгоритма в стеке остаются только вершины оболочки в порядке их обхода против часовой стрелки.

Алгоритм n В качестве входных данных процедуры Graham выступает множество точек Q, где . Алгоритм n В качестве входных данных процедуры Graham выступает множество точек Q, где . В ней вызывается функция Top(S), которая возвращает точку, находящуюся на вершине стека S, не изменяя при этом его содержимое. Кроме того, используется также функция Next. Top(S), которая возвращает точку, расположенную в стеке S, на одну позицию ниже от верхней точки; стек S при этом не изменяется.

Корректность сканирования по Грэхему n Если процедура Graham обрабатывает множество точек Q, где , Корректность сканирования по Грэхему n Если процедура Graham обрабатывает множество точек Q, где , то по завершении этой процедуры стек S будет содержать (в направлении снизу вверх) только вершины оболочки CH(Q) в порядке обхода против часовой стрелки.

Время работы n Время работы процедуры Graham равно O(n lg n), где n = Время работы n Время работы процедуры Graham равно O(n lg n), где n = |Q|. Как несложно показать, циклу while потребуется время O(n). В то время, как сортировка полярных углов займет O(n lg n) времени, откуда и следует общая асимптотика процедуры Graham.