2011-gre-cs-practice-book.pdf/Q51 — различия между версиями

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
== Вопрос: Q51-08c765 ==
 
== Вопрос: Q51-08c765 ==
  
Один из алгоритмов сборки мусора — это полупространственная копирующая сборка мусора. Какие из следующих характеристик сборки мусора применимы к полупространственной копирующей сборке?
+
Массив, называемый k-упорядоченным, — это почти упорядоченный массив, в котором ни один элемент не находится дальше, чем на k позиций от своего конечного места в отсортированном массиве. Таким образом, 0-упорядоченный массив полностью отсортирован, а любой массив размера n является n-упорядоченным.
  
* I. Удаляет "мертвые" объекты, которые ссылаются друг на друга
+
Предположим, что A — это k-упорядоченный массив размера n. Если для сортировки A используется сортировка вставками, какова будет сложность по числу сравнений в худшем случае?
* II. Создает накладные расходы при каждой операции присваивания ссылке
+
* III. Избегает фрагментации
+
  
 
=== Ответы ===
 
=== Ответы ===
Строка 13: Строка 11:
 
* (D) <m>\(\Theta(n \log_k n)\)</m>
 
* (D) <m>\(\Theta(n \log_k n)\)</m>
 
* (E) <m>\(\Theta(n^2)\)</m>
 
* (E) <m>\(\Theta(n^2)\)</m>
 +
 
=== Объяснение ===
 
=== Объяснение ===
  
Полупространственный сборщик мусора копирует все живые объекты из одного пространства в другое, оставляя недоступные (мертвые) объекты. [[https://en.wikipedia.org/wiki/Cheney%27s_algorithm|Cheney's algorithm]]
+
Для k-упорядоченного массива при сортировке вставками каждый элемент может «съехать» максимум на k позиций от своего итогового места. Когда мы идём по элементам слева направо, чтобы вставить элемент на правильное место, в худшем случае придётся сравнивать его с не более чем k предыдущими элементами.
 
+
* I. Удаляет "мертвые" объекты, которые ссылаются друг на друга
+
Циклически связанные мертвые объекты собираются, так как они недостижимы от корневых объектов. Это утверждение верно.
+
 
+
* II. Создает накладные расходы при каждой операции присваивания сслылке
+
Это характерно для подсчета ссылок, но не для полупространственных сборщиков. Они работают во время сбора, а не при присваивании. Это неверно.
+
 
+
* III. Избегает фрагментации
+
Живые объекты копируются компактно в новое пространство, что устраняет фрагментацию. Это верно.
+
  
 +
Таким образом, в каждом из n шагов вставки мы делаем до k сравнений. Суммарно получается порядка kn сравнений. То есть сложность в худшем случае будет Θ(kn).
  
 
{{question-ok|}}
 
{{question-ok|}}
 
{{reserve-task|[[Участник:Nikitashapovalov|Nikitashapovalov]] 20:35, 8 января 2025 (UTC)}}
 
{{reserve-task|[[Участник:Nikitashapovalov|Nikitashapovalov]] 20:35, 8 января 2025 (UTC)}}

Версия 00:38, 9 января 2025

Вопрос: Q51-08c765

Массив, называемый k-упорядоченным, — это почти упорядоченный массив, в котором ни один элемент не находится дальше, чем на k позиций от своего конечного места в отсортированном массиве. Таким образом, 0-упорядоченный массив полностью отсортирован, а любой массив размера n является n-упорядоченным.

Предположим, что A — это k-упорядоченный массив размера n. Если для сортировки A используется сортировка вставками, какова будет сложность по числу сравнений в худшем случае?

Ответы

  • (A)
  • (B)
  • (C)
  • (D)
  • (E)

Объяснение

Для k-упорядоченного массива при сортировке вставками каждый элемент может «съехать» максимум на k позиций от своего итогового места. Когда мы идём по элементам слева направо, чтобы вставить элемент на правильное место, в худшем случае придётся сравнивать его с не более чем k предыдущими элементами.

Таким образом, в каждом из n шагов вставки мы делаем до k сравнений. Суммарно получается порядка kn сравнений. То есть сложность в худшем случае будет Θ(kn).

Задача зарезервирована: Nikitashapovalov 20:35, 8 января 2025 (UTC)