Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

LetsGit.IT/Kategorie/Algorytmy
Algorytmymedium

Co znaczy, że sortowanie jest stabilne i dlaczego to ważne?

Tagi
#sorting#stable-sort#algorithm
Wróć do kategoriiPrzejdź do quizu

Odpowiedź

Sortowanie stabilne zachowuje kolejność elementów o równych kluczach. Jest ważne przy sortowaniu po wielu polach (np. najpierw po nazwisku, potem po imieniu).

Odpowiedź zaawansowana

Głębiej

Sortowanie jest *stabilne*, jeśli elementy o równym kluczu sortowania zachowują wzajemną kolejność z wejścia. Stabilność nie zmienia tego, czy wynik jest poprawnie posortowany po kluczu; zmienia zachowanie wewnątrz remisów.

Dlaczego to ważne

  • Sortowanie wielokryterialne: najpierw sort po mniej ważnym kluczu, potem stabilny sort po ważniejszym.
  • UX: przy wielu remisach stabilność zapobiega „skakaniu” pozycji.

Przykład

Wejście: (dział=A, imię=Z), (dział=A, imię=B)
Sort tylko po dziale:
- Stabilny => Z zostaje przed B (jak w wejściu)
- Niestabilny => mogą się zamienić

Typowe pułapki

  • Zakładanie stabilności domyślnego sortowania bez sprawdzenia dokumentacji.
  • Opieranie multi-key sortowania o stabilność, a potem użycie niestabilnego algorytmu (np. niektóre QuickSorty).

Powiązane pytania

Algorytmy
Heap sort: jaka jest złożoność czasowa, pamięciowa i stabilność?
#heapsort#sorting#complexity
Algorytmy
Counting sort: kiedy może być szybszy niż sortowanie O(n log n)?
#counting-sort#sorting#stability
Algorytmy
Co to jest algorytm Dijkstry?
#graph
#shortest-path
#dijkstra
Algorytmy
QuickSort vs MergeSort?
#sorting#quicksort#mergesort
Algorytmy
Wyjaśnij wyszukiwanie binarne.
#search#binary-search#algorithm