ALG4
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:
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ą ch15/15 ALGORYTMIKA2. Sortowanie przez wstawianie (ang. insertion sort). Schemat blokowy algorytmu: RyALG4 54 Rozdział 3. Analiza sprawności algorytmów Tematyką tego rozdziału jest tzw. złożoność oblicALG4 64 Rozdział 3. Analiza sprawności algorytmów3.4. Przykład 3: Wpadamy w pułapkę Zadania z dwóchALG4 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 wyALG8 88 Rozdział 4. Algorytmy sortowania Jest chyba dość oczywiste, że wywołania rekurencyjne zatrzALG 0 90 Rozdział 4. Algorytmy sortowania 90 Rozdział 4. Algorytmy sortowania Rys. 4 - 8. SortowanieALG4 194 Rozdział 7. Algorytmy przeszukiwania • powinna być tatwo obliczalna, tak1. Opis i charakterystyka algorytmu. Algorytm sortowania stogowego, zwany również algorytmem sortowaInsertionSort 1 void InsertionSort(int E[]) { // E &n4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 10 Przykład. Funkcja wyznaczająca sumę wartości elementów z4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 11 1. Znajdź wszystkie strony w bazie dany4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 12 4.2.1. Sortowanie przez wybór W algorytmie sortowania prz4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 15 4.2.2. Sortowanie przez wstawianie Algorytm sortowania pr4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 18 4.2.3. Sortowanie bąbelkowe Sortowanie bąbelkowe (ang. buEgzamin z ASDCzęść testowa 04.03.2009 1. (1 pkt.) Podkreśl algorytmy sortowania, kwięcej podobnych podstron