..
Szyfr jest sekwencją operacji sortowania, który przypisuje pierwszeństwo kolejności pozycji w ustalonej kolejności wynika z raportu.
Linie te będą narażone najczęściej (z un'approccio próbek silnie zorientowanych) i każdy z nich będzie skomentował na temat zalet i wad.
Dla uproszczenia w przykładach będą zawsze wykorzystywane jako zbiór liczb naturalnych i relacji porządku, jak w większości, algorytmy są nadal narażone powszechnie obowiązujące, bez krótkiej pracy dostosowania kodu.
Wybór rodzaju
Aby zamówić określoną liczbę jeden przed i intuicja mogą być skanowane tyle razy, ile przewoźnik całości, z każdego wyszukiwania krok do minimalnej wartości i dodać go do uporządkowanej kolejności, początkowo utożsamia się z drugiego przewoźnika;
Przykład: {5,1,3,8,2}
Krok 1 -> {1, X, X, X, X}
Krok 2 -> {1,2, X, X, X}
Krok 3 -> {1,2,3, X, X}
Krok 4 -> {1,2,3,5, X}
Krok # 5 -> {1,2,3,5,8}
(X jest zaznaczone miejsce lokalizacji nowego przewoźnika jeszcze nie na piśmie)
Z punktu widzenia miejsca w pamięci, algorytm ten stosowany w ten sposób jest bardzo niekorzystne, ponieważ początkowy zestaw jest kopiowana do innego. Prosta sztuczka polega na zastąpieniu korygujących operacji kopiowania z wymianą minimalną wartość po prostu znaleźć pierwszy element, który nie jest częścią zbioru liczb już zamówione.
Przykład: {5,1,3,8,2}
Krok 1 -> {1,5,3,8,2}
Krok 2 -> {1,2,3,8,5}
Krok 2 -> {1,2,3,8,5}
Krok 3 -> {1,2,3,5,8}
Szyfr wprowadza Sortuj wyboru, co wynika możliwość realizacji:
sel_sort (int * v, int rozmiar)
{
int i = 0, temperatura = 0, y = 0, j = 0;
for (i = 0, i = j -)
{
{
temp = v [j];
y = j;
}
swap (v, i, y) / / Zmienne pozycje w wektorze v iey
}
}
Podwójnej pętli położony jest zgadnąć, że liczba porównań przez ten algorytm jest kwadratowy niż liczba elementów.
Sortuj wyboru jest również stabilny algorytm.
Stabilny algorytm zachowuje efekt poprzednich zamówień w przypadku struktur danych są traktowane w wielu kluczy, takich jak Imię i Nazwisko:
1. Charles Green 2. Andrea Rossi 3. Mario Rossi 4. Luciano BianchiZamawiamy pola imię:
1. Andrea Rossi 2. Charles Green 3. Mario Rossi 4. Luciano BianchiTeraz możemy zamówić przez nazwisko, bardziej stabilny algorytm zachowuje pierwszeństwo początkowego, lub, w przypadku remisu między klawiszami, na których są zamówienia, to pozycja pierwszego celu ustalenia ostatecznej lokalizacji.
1. Luciano Bianchi 2. Andrea Rossi 3. Mario Rossi 4. Charles GreenStabilny algorytm zapewnia, że w tym przypadku zawsze poprzedza Rossi Mario Andrea Rossi. Nie ma stabilne zachowanie nie jest przewidywalny, więc to może być odwrócone pozycji 2 i 3.
Sortowania wyboru jest również na miejscu.
Algorytm powiedział na miejscu (lub nawet w miejscu), jeśli nie brać dodatkowego miejsca pamięci niż oryginalna baza danych, lub jest to małe stałej ilości.
| |
Front Page (Ebook)
Tworzenie stron WWW bez znajomości języka HTML. Zaledwie 25 €. |
| |
Javascript (Kurs)
Kompletny przewodnik po stronie klienta skryptów. Od 39 €. |
| |
Nagrywanie płyt CD i DVD (Ebook)
Przewodnik do nagrywania płyt CD i DVD z darmowych programów. Zaledwie 25 €. |