2001-gre-vs-practice.pdf/Q52 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 20: Строка 20:
 
Быстрая сортировка: В среднем случае имеет время выполнения <m>\mathcal{O}(n \log n)</m>, но в худшем случае (если выбор опорного элемента неудачен) — <m>\mathcal{O}(n^2)</m>. Однако, в лучшем случае также может быть <m>\mathcal{O}(n \log n)</m>.
 
Быстрая сортировка: В среднем случае имеет время выполнения <m>\mathcal{O}(n \log n)</m>, но в худшем случае (если выбор опорного элемента неудачен) — <m>\mathcal{O}(n^2)</m>. Однако, в лучшем случае также может быть <m>\mathcal{O}(n \log n)</m>.
  
Сортировка слиянием: Всегда имеет время выполнения O(n log n), независимо от первоначального порядка данных.
+
Сортировка слиянием: Всегда имеет время выполнения <m>\mathcal{O}(n \log n)</m>, независимо от первоначального порядка данных.
  
4. Selection sort (Сортировка выбором): Всегда имеет время выполнения O(), независимо от порядка данных.
+
Сортировка выбором: Всегда имеет время выполнения <m>\mathcal{O}(n^2)</m>, независимо от порядка данных.
  
5. Shellsort: Время выполнения зависит от выбранной последовательности шагов, но в среднем может достигать O(n log n). В худшем случае может быть O(n^(3/2)) или даже O(n²) в зависимости от реализации.
+
5. Сортировка Шелла: Время выполнения зависит от выбранной последовательности шагов, но в среднем может достигать <m>\mathcal{O}(n \log n)</m>. В худшем случае может быть <m>\mathcal{O}(n^2)</m> в зависимости от реализации.
  
Таким образом, алгоритм с наименьшим временем выполнения, зависимым от первоначального порядка ввода, — это Merge sort, так как его время выполнения всегда составляет O(n log n).
+
Таким образом, алгоритм с наименьшим временем выполнения, зависимым от первоначального порядка ввода, — это сортировка слиянием, так как его время выполнения всегда составляет <m>\mathcal{O}(n \log n)</m>.
  
 
{{question-ok|}}
 
{{question-ok|}}
  
 
[[Категория:Надо не забыть выбрать тему]]
 
[[Категория:Надо не забыть выбрать тему]]

Версия 11:11, 7 января 2025

Задача зарезервирована: илья52 19:05, 22 декабря 2024 (UTC)

Какой из следующих алгоритмов сортировки имеет время выполнения, НАИМЕНЕЕ зависящее от первоначального порядка ввода?

Ответы

  • Сортировка вставками
  • Быстрая сортировка
  • Правильный ответ: Сортировка слиянием
  • Сортировка выбором
  • Сортировка Шелла

Объяснение

Исходники — вопрос 52 на 39 странице книги «2001-gre-vs-practice.pdf»

Сортировка вставками: В лучшем случае, когда данные уже отсортированы, имеет время выполнения . В худшем случае (когда данные отсортированы в обратном порядке) — .

Быстрая сортировка: В среднем случае имеет время выполнения , но в худшем случае (если выбор опорного элемента неудачен) — . Однако, в лучшем случае также может быть .

Сортировка слиянием: Всегда имеет время выполнения , независимо от первоначального порядка данных.

Сортировка выбором: Всегда имеет время выполнения , независимо от порядка данных.

5. Сортировка Шелла: Время выполнения зависит от выбранной последовательности шагов, но в среднем может достигать . В худшем случае может быть в зависимости от реализации.

Таким образом, алгоритм с наименьшим временем выполнения, зависимым от первоначального порядка ввода, — это сортировка слиянием, так как его время выполнения всегда составляет .