Wybór algorytmu

Wybór algorytmuOd czago zależy wybór konkretnego algorytmu do zastosowania w programie?

Czy zastosowanie sortowania bąbelkowego ma jakiś sens? Przecież jest to najwolniejsza metoda.

Wydaje mi się, że nie ma jakiejś uniwersalnej metody jaki algorytm zastosować. Każdy programista może bardzo podobny problem rozwiązać stosując inne algorytmy. Ale znając działanie pewnych algorytmów programista może bardziej świadomie podchodzić do rozwiązywania pewnych problemów.

Podczas „przeglądania” różnej literatury na temat algorytmów właśnie spodobało mi się takie oto zdanie: „Dobry algorytm jest jak ostry nóż – przy najmniejszym wysiłku robi dokładnie to, co ma robić. Używanie złego algorytmu, to jak krojenie steku korkociągiem. Rezultat może nie być ani efektywny, ani apetyczny”. Cytat ten pochodzi z książki pt. Wprowadzenie do algorytmów – Corman Thomas H.

Jak już wcześniej napisałem, wiele problemów można rozwiązać na różne sposoby. Aby wybrać najlepszy sposób trzeba je ze sobą porównać. Z tego co wiem, to istnieje kilka metod porównywania algorytmów, ale najpopularniejszą i najlepiej rozwiniętą jest porównanie wydajności czasowej rozwiązywania danego problemu. Czas działania danego algorytmu zależy nie tylko od danych wejściowych, ale także od ich wartości i rozmieszczenia. No i w dużej części również od szybkości komputera ;-)

Czy zastosowanie sortowania bąbelkowego ma jakiś sens? Przecież jest to najwolniejsza metoda.
Sortowanie bąbelkowe jest jednym z najstarszych algorytmów. Zyskało sobie rozgłos właśnie dzięki nazwie ;-) Jego niewątpliwą zaletą jest prostota i łatwość zrozumienia. Natomiast wadą to, że jest to algorytm mało efektywny. Można go stosować tylko dla niewielkiej liczby elementów w sortowanym zbiorze (do około 5000). Przy większych zbiorach czas sortowania może być zbyt długi.
Wydaje mi się, że sortowanie bąbelkowe jest stosowane głównie w celach edukacyjnych. Na razie nigdzie nie mogłem znaleźć jakiś konkretnych przykładów zastosowań tego algorytmu :-(

 

Uważasz, że artykuł był ciekawy i chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Jaki algorytm?
Wady rekurencji

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/

    Najnowsze komentarze

    Gość - Studio Jak wybrać hosting dla Joomla!?
    13 wrzesień 2019
    Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
    Gość - Marek Szyfrowanie symetryczne a niesymetryczne
    09 czerwiec 2019
    "Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
    Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
    10 maj 2019
    Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
    Gość - Andy SSL i Joomla! w Smarthost
    03 styczeń 2019
    Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
    Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
    02 styczeń 2019
    Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...