Luffy1
@Luffy1
Student, Junior .NET programmer, C#, JS, HTML/CSS

Когда лучше использовать сортировку пузырьком, шейкерную сортировку, сортировку Шелла, сортировку выбором, а когда алгоритм быстрой сортировки?

Как я понял, каждый алгоритм сортировки используется в зависимости от ситуации (но я в этом не уверен), тогда в каких ситуациях лучше использовать сортировку пузырьком, в каких шейкерную сортировку, в каких сортировку Шелла, сортировку выбором, а в каких быструю сортировку? Или лучше стоит всегда использовать быструю сортировку? (про их время выполнения я знаю, просто хочу понять, правда ли каждый из этих методов применяется в конкретной ситуации или нет)
А также опишите, пожалуйста, очень подробно принцип работы каждого из этих методов сортировки и напишите код для каждого из них. Я на метаните нашёл один из методов сортировки: https://metanit.com/sharp/tutorial/2.7.php - это сортировка пузырьком или сортировка выбором, а то в комментариях одни говорят одно, а другие - другое, а сам автор не указал, какой это алгоритм.
Какие методы сортировки вы можете посоветовать и каким/какими пользуетесь сами?
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
А также опишите, пожалуйста, очень подробно принцип работы каждого из этих методов сортировки и напишите код для каждого из них.

Гуглишь название каждого алгоритма, и будет тебе подробнейшее описание.
Ещё можешь почитать книгу "Алгоритмы, их построение и анализ".

Или лучше стоит всегда использовать быструю сортировку?

В большинстве задач нет особой разницы, какую сортировку использовать, по тому берут то что реализовано в стандартной библиотеке - как правило это быстрая сортировка, или что-то похожее, или несколько разных алгоритмов, которые выбираются исходя из количества элементов. (например на малых объёмах более простой алгоритм может оказаться эффективнее, чем более сложный)

Какие методы сортировки вы можете посоветовать и каким/какими пользуетесь сами?

Стандартным Array.Sort()/ List.Sort() / OrderBy

Необходимость выбора более эффективного алгоритма возникает на очень больших данных, когда счёт идёт на гигабайты, а то и терабайты, но там уже и смотрят на типичный порядок, в котором расположены данные, и прочее.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы