ALG2

ALG2



82


Rozdział 4, Algorytmy sortowania

Potrzeba sortowania danych jest związana z typowo ludzką chęcią gromadzenia i/lub porządkowania. Darujmy sobie jednak pasjonującą dyskusję na temat socjalnych aspektów sortowania i skoncentrujmy się raczej na zagadnieniach czysto algorytmicznych...

Istotnym problemem w dziedzinie sortowania danych jest ogromna różnorodność algorytmów wykonujących to zadanie. Początkujący programista często nie jest w stanie samodzielnie dokonać wyboru algorytmu sortowania najodpowiedniejszego do konkretnego zadania. Jedno z możliwych podejść do tematu polegałoby zatem na krótkim opisaniu każdego algorytmu, wskazaniu jego wad i zalet oraz podaniu swoistego rankingu jakości. Wydaje mi się jednak, że tego typu prezentacja nie spełniłaby dobrze swojego zadania informacyjnego, a jedynie sporo zamieszała w głowie Czytelnika. Skąd to przekonanie? Z pobieżnych obserwacji wynika, że programiści raczej używają dobrze sprawdzonych „klasycznych” rozwiązań, takich jak np. sortowanie przez wsławianie, sortowanie szy>bkie, sortowanie bąbelkowe, niż równie dobrych (jeśli nie lepszych) rozwiązań, które służą głównie jako tematy artykułów czy też przyczynki do badań porównawczych z dziedziny efektywności algorytmów.

Aby nie powiększać entropii wszechświata, skoncentrujemy się na szczegółowym opisie tylko kilku dobrze znanych, wręcz „wzorcowych” metod. Będą to algorytmy charakteryzujące się różnym stopniem trudności (rozpatrywanej w kontekście wysiłku poświęconego na pełne zrozumienie idei) i mające odmienne „parametry czasowe”. Wybór tych właśnie, a nie innych metod jest dość arbitralny i pozostaje mi tylko żywić nadzieję, że zaspokoi on potrzeby jak największej grupy Czytelników.

4.1. Sortowanie przez wstawianie, algorytm klasy 0(N2)

Metoda sortowania przez wstawianie jest używana bezwiednie przez większość graczy podczas układania otrzymanych w rozdaniu kart. Rysunek 4 - 1 przedstawia sytuację widzianą z punktu widzenia gracza będącego w trakcie tasowania kart. które otrzyma! on w dość „podłym" rozdaniu:

Karty posortowane

Karty do posortowania


Rys. 4 - 1.

Sortowanie prze: wstawianie (I)


Wyszukiwarka

Podobne podstrony:
ALG4 84Rozdział 4. Algorytmy sortowania insert.cpp void InsertSort (int *tab) foriint i=l; i<n;i
wykład 24 Wsrunejcpowstania wiązania wodorowego *    3tOTTl wodoru jest związany w c
74439 wykład 24 Wsrunejcpowstania wiązania wodorowego *    3tOTTl wodoru jest związa
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 11 1.    Znajdź wszystkie strony w bazie dany
Wymagania wstępne: Znajomość przedmiotów : Algorytmy i struktury danych ( algorytmy sortowania, meto
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
15/15 ALGORYTMIKA2. Sortowanie przez wstawianie (ang. insertion sort). Schemat blokowy algorytmu: Ry
skanuj0046 (68) Rozdział IV - Elementy składowe dokumentu4.1.3 Sortowanie danych zapisanych w tabeli
17667 skanuj0064 (42) ECOL Advanccd - Przetwarzanie tekstu, poziom zaawansowany 5.1.2 Sortowanie dan
1. Opis i charakterystyka algorytmu. Algorytm sortowania stogowego, zwany również algorytmem sortowa
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 10 Przykład. Funkcja wyznaczająca sumę wartości elementów z
4.2. PROSTE ALGORYTMY SORTOWANIA TABLIC 12 4.2.1. Sortowanie przez wybór W algorytmie sortowania prz

więcej podobnych podstron