ALGO JARVISA

background image

Algorytm Jarvisa

Algorytm Jarvisa rozwiązujący problem otoczki ma

złożoność

i , gdzie i jest

liczbą punktów

otoczki

wypukłej w danym n – elementowym zbiorze

punktów. Algorytm Jarvisa oparty jest na dwóch
spostrzeżeniach:

Odcinek

o końcach ze zbioru

H jest

bokiem

otoczki

wypukłej wtedy i tylko wtedy, gdy

wszystkie

punkty

z

H

należą do tej samej domkniętej

półpłaszczyzny

wyznaczonej przez prostą

, a

każdy

punkt

H leżący

na tej prostej należy do odcinka

.

Jeśli odcinek

jest bokiem otoczki

wypukłej, która

nie jest zdegenerowana do

odcinka

lub

punktu

, to

musi

istnieć bok

różny od

,

zaczynający

się

w

(analogiczny warunek jest też spełniony dla

punktu

).

background image

Algorytm

Krok 1:

Ustalamy punkt

, który ma

najmniejszą współrzędną

spośród wszystkich punktów z

najmniejszą

współrzędną

.

Ustalamy punkt

/, który ma

największą współrzędną

spośród wszystkich punktów z

największą

współrzędną

.

Obydwa punkty

i

/

są wierzchołkami

otoczki

wypukłej.

Krok 2:

p=d;
while

(p != g)

{ //„umieszczamy początek układu

//współrzędnych w punkcie p”;

//r = „punkt o największej odległości od p,

//wśród wszystkich punktów o

//najmniejszym kącie nachylenia wektora

//wodzącego do osi pX”;

// wszystkie punkty z S leżą w jednej

//półpłaszczyźnie wyznaczonej przez

//prostą pr. Odcinek pr jest kolejnym

bokiem otoczki wypukłej

p->next=r;

r->prev=p;

p=r;

}

background image

Krok 3: Powtarzamy Krok 2, przyjmując, za punkt
startowy

/, a punkt końcowy . Rozważamy tylko

punkty o kątach nachylenia promieni wodzących
większych lub równych 180

o

.

Złożoność czasowa algorytmu Jarvisa

Każda iteracja w Krokach 2 i 3 jest wykonywana

w

czasie

.

Ponieważ liczba iteracji jest równa

liczbie wierzchołków otoczki

, to

koszt całkowity

algorytmu Jarvisa

wynosi

i . Algorytm ten jest

szczególnie przydatny

wtedy, gdy wiemy, że

liczba

punktów otoczki wypukłej jest niewielka

w porównaniu

z rozmiarem zbioru

H (tj. ograniczona przez stałą

niezależną od

).


Wyszukiwarka

Podobne podstrony:
algo wyk8 id 57442 Nieznany (2)
1-algo~1, wisisz, wydzial informatyki, studia zaoczne inzynierskie, podstawy programowania, l2
Wypracowanie algo
Algo,E Wszystkie drogi prowadz Nieznany (2)
ściaga algo
Algo r 3
algo zadania egzamin
ALGO
Aun hay algo, Teksty i tłumaczenia piosenek RBD
algo zadania egzamin
Wypracowanie algo kompletne
algo zadania egzamin, !!!Uczelnia, wsti, materialy, II SEM, algorytmy struktury danych, egzamin
algo, Materialy do uczenia
ALGO GRAHAMA
ALGO GEOM PODST
algo zadania
algo BST

więcej podobnych podstron