Алгоритъм за сортиране: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Shegobieca (беседа | приноси)
Shegobieca (беседа | приноси)
Редакция без резюме
Ред 1:
В областта на [[компютърни науки|компютърните науки]] '''алгоритъмът за сортиране''' (наречен още '''алгоритъм за подреждане''') е [[алгоритъм]], който поставя елементите на един [[Списък (структура от данни)|списък]] в определен ред. Различават се два вида сортиране: възходящо сортиране (най-малката стойност е на първо място) и сортиране в низходящ ред (най-голямата стойност е на първо място).
 
=== Класификации ===
Алгоритмите за сортиране се класифицират по няколко начина : </br>
* Сложност на алгоритъма (най-лошо, средно и добро поведение).При повечето алгоритми за сотиране в най-лошия случай те имат сложност O(n2), в средния случай - O(log2 n), а в добрия случай - O(n log n). Перфекният случай е O(n), но той е рядко възможен. </br>
* Изчислителна сложност на разменянията (за "in place" алгоритми) </br>
* Използвана памет (и използване на други компютърни ресурси) </br>
* Рекурсия - някои методи за сортирания са рекурсивни или нерекурсивни. Има и сортирания, които могат да бъдат и от двата вида - например методът на сливане </br>
* Стабилност </br>
* Дали са сравняващи алгоритми - сравняващите алгоритми сравняват два елемента с оператор за сравнение </br>
* Адаптиращи се алгоритми
== Популярни алгоритми за сортиране ==
=== Метод на мехурчето ===