95922

95922



Charakterystyczne cechy:

gdy liczby są już posortowane w algorytmie sortowania przez wstawianie pętla wewnętrzna nie wykona się ani razu w każdej z n-1 iteracji pętli zewnętrznej. Zatem czas działania algorytmu ograniczy się do O(n).

Przez kopcowanie Zasada działania:

1.    Umieść wszystkie dane wejściowe w kopcu. Utwórz pustą tablicę wyjściową o długości n.

2.    Pobierz element z korzenia na pierwszą wolną pozycję w tablicy wyjściowej.

3.    Umieść w korzeniu (w miejsce pobranego elementu) ostatni element z kopca (rozmiar kopca zmniejsza się o 1). Przywróć właściwość kopca (analogicznie, jak w procedurze usuwania elementu z kopca).

4.    Jeśli kopiec nie jest pusty to skocz do Kroku 2; w przeciwnym wypadku STOP _ posortowane dane są w tablicy wyjściowej .

Złożoność obliczeniowa:

w algorytmie kroki 2-4 są powtarzane n razy (w każdej iteracji, kopiec _ początkowo n elementowy _ zmniejsza się o 1). Zatem złożoność całej procedury można wyliczyć jako:

ZłożonośćKroku 1 + n- Złożoność Kroków 2-4.

Złożoność Kroku 1: Utworzenie kopca z n losowych danych to, jak już wspomniano, n-krotne wykonanie operacji wstawienia elementu do kopca. Wychodząc z założenia, że wstawienie elementu do kopca n elementowego zajmuje 0(log n) czasu (tyle, ile wynosi wysokość kopca), złożoność Kroku 1 można oszacować jako 0(n log n). Oczywiście 2-ga część Kroku 1 _ utworzenie tabl. wyjść. _ zajmuje 0(1). W metodzie tej zakładamy, że od początku kopiec jest wypełniony losowymi danymi. Rozpoczynając od elementu bn/2c przechodzimy przez kolejne elementy aż do pierwszego i za każdym razem wykonujemy operację naprawy części kopca leżącego poniżej (tj. poddrzewa, dla którego bieżący element jest korzeniem), na podobnej zasadzie jak naprawa kopca pousunięciu elementu. W takiej sytuacji można wykazać, że w kopcu jest najwyżej dn/2k+le element ów mających poniżej siebie k poziomów. Dla każdego takiego elementu operacja naprawy części kopca leżącego poniżej zajmuje 0(k) czasu.

Zatem złożoność Kroku 1 można wyliczyć jako:

Korzystając teraz z zależności (pauz np comwi i /n.)


(1-1/2)2 2'

~ * 1/2


Złożoność Kroków 2 i 4 to oczywiście 0(1), natomiast Kroku 3 -0(log n). Zatem złożoność całego algorytmu to



Wyszukiwarka

Podobne podstrony:
15/15 ALGORYTMIKA2. Sortowanie przez wstawianie (ang. insertion sort). Schemat blokowy algorytmu: Ry
75260 zdj1 (9) Sortowanie przez wstawianie 1 Algorytm jest podobny do porządkowania kart trzymanych
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 12 4.2.1. Sortowanie przez wybór W algorytmie sortowania prz
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 15 4.2.2. Sortowanie przez wstawianie Algorytm sortowania pr
Podprogram Algorytm szukania najwi, ekszego elementu w odniesieniu do algorytmu sortowania przez lin
ALG3 4.1. Sortowanie przez wstawianie, algorytm klasy 0(N2) 83 Idea tego algorytmu opiera się na na
ASD ITN k1 05 2002 5 Zad. 8 Ile przestawień elementów wykona algorytm inserion-sort (sortowania prz
skanuj0088 3 Z przodu i z tyłuCo należy zrobić Gdy twoje dzieci są już przyzwyczajone do gier słowny
13069 Przechwytywanie w trybie pełnoekranowym 14 04 173140 bmp PrzykładyZadanie 2: Wykreśl kład odc
Algorytm porównywania liczb: 1.    Jeżeli liczby są różnej długości, to większą jest
288 9 Charakterystyczne cechy topoklimatów obszarów podmokłych spowodowane są głównie kontrastowości

więcej podobnych podstron