close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
Sortowanie - wszystko co musisz wiedzieć na początek

Algorytmy sortowania - co trzeba umieć

Sortowanie to jedna z najważniejszych rzeczy w programowaniu. Sprawdź aplikacje albo serwisy, z których korzystasz. Na pewno bez problemu znajdziesz jakąś listę z posortowanymi danymi.

  • Lista rzeczy do zrobienia.
  • Lista zamówień, które złożyłeś w sklepie internetowym.
  • Lista wydatków posortowana od największych do najmniejszych.

Takich przykładów dałoby się znaleźć dziesiątki. Po prostu gdzie nie spojrzysz tam masz dane, które są w jakiś sposób posortowane. Lubimy pracować z posortowanymi danymi. Tak jest łatwiej i wygodniej. Pomyśl co by było gdyby trzeba przejrzeć setki pozycji na liście, które są ułożone w zupełnie losowy sposób.

Software Developer

Ścieżka kariery to zestaw kursów, które krok po kroku nauczą cię umiejętności niezbędnych w zawodzie. Zaczynasz od zera i po ukończeniu ścieżki umiesz to co jest potrzebne na start w danej dziedzinie. Dowiedz się więcej

Jak wykonywane jest sortowanie

Żeby dane dało się posortować potrzebny nam będzie jakiś algorytm, który to sortowanie wykonuje. Taki algorytm możemy sprowadzić do prostego schematu:

nieposortowane dane wejściowe -> algorytm -> posortowane dane wyjściowe.

Czyli bierzemy dane, które są ułożone w przypadkowej kolejności, przetwarzamy je odpowiednim algorytmem i na wyjściu otrzymujemy dane posortowane. I to cała filozofia.

Różne algorytmy sortowania

Są różne algorytmy sortowania:

  • Sortowanie bąbelkowe;
  • Sortowanie przez wstawianie;
  • Sortowanie grzebieniowe;
  • Sortowanie przez zliczanie;
  • Sortowanie przez wybieranie;

To tylko wierzchołek góry lodowej bo takich algorytmów jest sporo. Te algorytmy różnią się od siebie różnymi cechami. Jedne są szybsze a inne wolniejsze. Jedne są prostsze do wdrożenia a inne bardziej złożone. Niektóre z nich mają praktyczne zastosowania a inne są bardziej “akademickie”.

Ile trzeba umieć?

To jest dobre pytanie. W praktyce, w wielu językach programowania mamy pewne struktury danych, które można sortować wykorzystując wbudowane mechanizmy. Oznacza to tyle, że możesz wykorzystać gotowe algorytmy do sortowania takich danych. Dobrze jednak jest wiedzieć z czym wiąże się użycie konkretnego sposobu sortowania. Dzięki temu możesz ocenić złożoność, czas wykonywania oraz precyzję wybranej przez ciebie metody. Dobrym pomysłem jest opanowanie, przynajmniej podstawowych algorytmów sortujących. Chodzi o to, żeby mieć jakąś sensowną orientację w tym temacie. I żeby zdawać sobie sprawę jakie mogą być konsekwencje sortowania danych w nieoptymalny sposób.

Pytania rekrutacyjne

Zamierzasz się ubiegać o pracę jako programista? To przygotuj się m.in z algorytmów sortowania. To jest jeden z ulubionych tematów rekruterów w IT. Istnieje spora szansa na to, że na rozmowie o pracę dostaniesz zadanie polegające na implementacji albo objaśnieniu danego algorytmu sortowania. Niektórzy twierdzą, że jest to bardzo akademickie podejście do tematu bo w praktyce takie algorytmy rzadko pisze się od podstaw. Niemniej jednak takie pytania często się pojawiają więc nie daj się zaskoczyć.

Jakie są kluczowe algorytmy sortowania dla programistów?

Z tą ścieżką zdobędziesz zestaw kluczowych i bardzo uniwersalnych umiejętności programistycznych.

Dowiedz się więcej

Na podsumowanie

Algorytmy sortowania są bardzo ważne bo dzięki nim możemy pracować z uporządkowanymi danymi. W praktyce takie algorytmy rzadko pisze się od podstaw bo sortowanie to problem realizowany często za pomocą wbudowanych mechanizmów języka, gotowych funkcji, bibliotek programistycznych itp. Jedna jeśli poważnie myślisz o programowaniu to potrzebna ci będzie dobra orientacja w takich algorytmach. Chociażby po to, żeby ocenić złożoność obliczeniową danego algorytmu. No i po to, żeby nie być zaskoczonym podczas ubiegania się o pracę.