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

Материал из DISCOPAL
Перейти к: навигация, поиск
 
(не показано 9 промежуточных версий 1 участника)
Строка 1: Строка 1:
{{reserve-task|[[Участник:Илья52|илья52]] 19:05, 22 декабря 2024 (UTC)}}== Вопрос: Q52-e5724f ==
+
Какой из следующих алгоритмов сортировки имеет время выполнения, НАИМЕНЕЕ зависящее от первоначального
 
+
порядка ввода?
<blockquote>
+
Тут вставьте перевод вопроса.
+
Используйте [https://wiki.4intra.net/Help:%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5 возможности разметки],
+
включая формулы и т.п, если будут графы — посмотрите как задать их текстом https://wiki.4intra.net/Graphviz (реально оценю, полезный навык).
+
Если код — теги «code-pascal», «code-c» или «code-python» (не «source lang»).
+
 
+
В IT вообще не принято писать романы, всегда старайтесь писать структурированные (списками-абзацами тексты). Списки в MediaWiki — это просто «*». Не забывайте о них.
+
Преформатированный моноширинный текст — просто отступ.
+
 
+
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).
+
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
+
 
+
Потом конечно сотрите эти инструкции, которые тут курсивом или в блоке цитирования.
+
</blockquote>
+
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
* Сортировка вставками
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
+
* Быстрая сортировка
 
+
* Правильный ответ: Сортировка слиянием
* Правильный ответ: тут реально правильный ответ
+
* Сортировка выбором
* неправильный ответ
+
* Сортировка Шелла
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
 
+
<i>Если ответы длинные, многострочные, или там графы, используйте
+
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается, например [[2011-gre-cs-practice-book.pdf/Q05]]. </i>
+
 
+
  
 
=== Объяснение ===
 
=== Объяснение ===
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2001-gre-vs-practice.pdf|39|52}}
{{cstest-source|2001-gre-vs-practice.pdf|тут-номер-страницы-с-вопросом-52|52}}
+
 
+
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты — неправильны]].
+
;Сортировка вставками: В лучшем случае, когда данные уже отсортированы, имеет время выполнения <m>\mathcal{O}(n)</m>. В худшем случае (когда данные отсортированы в обратном порядке) — <m>\mathcal{O}(n^2)</m>.
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],  
+
;Быстрая сортировка: В среднем случае имеет время выполнения <m>\mathcal{O}(n \log n)</m>, но в худшем случае (если выбор опорного элемента неудачен) — <m>\mathcal{O}(n^2)</m>. Однако, в лучшем случае также может быть <m>\mathcal{O}(n \log n)</m>.
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
;Сортировка слиянием: Всегда имеет время выполнения <m>\mathcal{O}(n \log n)</m>, независимо от первоначального порядка данных.
 +
;Сортировка выбором: Всегда имеет время выполнения <m>\mathcal{O}(n^2)</m>, независимо от порядка данных.
 +
;Сортировка Шелла: Время выполнения зависит от выбранной последовательности шагов, но в среднем может достигать <m>\mathcal{O}(n \log n)</m>. В худшем случае может быть <m>\mathcal{O}(n^2)</m> в зависимости от реализации.
  
</i>
+
Таким образом, алгоритм с наименьшим временем выполнения, зависимым от первоначального порядка ввода, — это сортировка слиянием, так как его время выполнения всегда составляет <m>\mathcal{O}(n \log n)</m>.
  
{{question-ok|}}
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 14:51, 7 января 2025 (UTC)}}
  
[[Категория:Надо не забыть выбрать тему]]
+
[[Категория:Sorting]]

Текущая версия на 14:51, 7 января 2025

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

Ответы

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

Объяснение

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

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

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