ALG4

ALG4



84


Rozdział 4. Algorytmy sortowania

insert.cpp

void InsertSort (int *tab) foriint i=l; i<n;i++)

int j=i;    // U..i-1 sa posortowane

int temp=tab[j);

while ((j>0) Si (tablj-lj>temp))

tab[j]=tab[j-1);

j —;

tablj]=terr.p;

)

)

Algorytm sortowania przez wstawianie charakteryzuje się dość wysokim kosztem: jest on bowiem klasy 0(N2), co eliminuje go w praktyce z sortowania dużych tablic. Niemniej jeśli nic zależy nam na szybkości sortowania, a potrzebujemy algorytmu na tyle krótkiego, by się w' nim na pewno nic pomylić - to wówczas jest on idealny w swojej niepodważalnej prostocie.

Uwaga: Dla prostoty przykładów będziemy analizować jedynie sortowanie tablic liczb całkowitych. W rzeczywistości sortowaniu podlegają najczęściej tablice lub listy rekordów; kryterium sortowania odnosi się wówczas do jednego z pól rekordu. (Patrz również §5.1.3)._


4.2. Sortowanie bąbelkowe, algorytm klasy


Podobnie jak sortowanie przez wstawianie, algorytm sortowania bąbelkowego charakteryzuje się olbrzymią prostotą zapisu. Intrygująca jego nazwa wzięła się z analogii pęcherzyków powietrza ulatujących w górę tuby wypełnionej wodą-o ile postawioną pionowo tablicę potraktować jako pojemnik z wodą, a liczby jako pęcherzyki powietrza. Najszybciej ulatują do góry „bąbelki” najlżejsze — liczby o najmniejszej wartości (przyjmując oczywiście sortowanie w kierunku wartości niemalejących). Oto pełny tekst programu:

bubble.cpp


void bubble(int *tab) {

for(int i=l;i<n;i++)


Wyszukiwarka

Podobne podstrony:
ALG2 82Rozdział 4, Algorytmy sortowania Potrzeba sortowania danych jest związana z typowo ludzką ch
15/15 ALGORYTMIKA2. Sortowanie przez wstawianie (ang. insertion sort). Schemat blokowy algorytmu: Ry
ALG4 54 Rozdział 3. Analiza sprawności algorytmów Tematyką tego rozdziału jest tzw. złożoność oblic
ALG4 64 Rozdział 3. Analiza sprawności algorytmów3.4. Przykład 3: Wpadamy w pułapkę Zadania z dwóch
ALG4 74 Rozdział 3. Analiza sprawności algorytmów • funkcja d(n) musi spełniać następującą własność
ALG6 86 Rozdział 4. Algorytmy sortowania zamiany sąsiadujących ze sobą elementów, a druga będzie wy
ALG8 88 Rozdział 4. Algorytmy sortowania Jest chyba dość oczywiste, że wywołania rekurencyjne zatrz
ALG 0 90 Rozdział 4. Algorytmy sortowania 90 Rozdział 4. Algorytmy sortowania Rys. 4 - 8. Sortowanie
ALG4 194 Rozdział 7. Algorytmy przeszukiwania •    powinna być tatwo obliczalna, tak
1. Opis i charakterystyka algorytmu. Algorytm sortowania stogowego, zwany również algorytmem sortowa
InsertionSort 1    void InsertionSort(int E[])    { // E  &n
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 10 Przykład. Funkcja wyznaczająca sumę wartości elementów z
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 11 1.    Znajdź wszystkie strony w bazie dany
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
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 18 4.2.3. Sortowanie bąbelkowe Sortowanie bąbelkowe (ang. bu
Egzamin z ASDCzęść testowa 04.03.2009 1.    (1 pkt.) Podkreśl algorytmy sortowania, k

więcej podobnych podstron