Я студент-второкурсник, изучающий структуру данных, и сегодня этот класс был посвящен алгоритмам сортировки.Мы изучили сортировку выделения, сортировку по пузырям, сортировку по вставке, сортировку по оболочке, быструю сортировку и сортировку слиянием (класс был в таком порядке).И из того, что я помню, сортировка Shell была сделана и разработана так, чтобы она выполнялась быстрее, чем обычная сортировка вставкой.
Итак, процедура такова:
- разделить исходный список на несколько подсписков, используя пробел.
- сортируйте подсписок, используя сортировку вставками.
- непрерывно уменьшайте разрыв и повторяйте, пока разрыв не достигнет 1.
Надеюсь, я не ошибаюсь до этого уровня.Если я, пожалуйста, дайте мне знать.
Если я до сих пор прав, мой вопрос:
Если этот алгоритм, называемый «Shell sort», разработан и считается, что он быстрее обычногосортировка вставкой, тогда почему бы не использовать рекурсивную сортировку Shell на шаге 2?использование сортировки Shell вместо вставки сортировки, когда сортировка подсписков может сделать это быстрее согласно этой логике.