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

Материал из DISCOPAL
Перейти к: навигация, поиск
Строка 1: Строка 1:
{{reserve-task|[[Участник:Urmat A|Urmat A]] 12:45, 18 декабря 2024 (UTC)}}
 
*[[2011-gre-cs-practice-book.pdf/Q08]]
 
 
== Вопрос: Q08-08c765 ==
 
== Вопрос: Q08-08c765 ==
Какая структура данных будет наиболее подходящей чтобы хранить элементы и иметь следующие
+
Какая структура данных будет наиболее подходящей чтобы хранить элементы и иметь следующие три характеристики?
три характеристики?
+
# Элементы извлекаются и удаляются из коллекции в порядке FIFO (First-In-First-Out).
Элементы извлекаются и удаляются из коллекции в порядке FIFO (First-In-First-Out).
+
# Нет априорного ограничения на количество элементов.
Нет априорного ограничения на количество элементов.
+
# Размер элемента велик относительно хранилища, необходимого для прямой выделения памяти и адресации элементов.
Размер элемента велик относительно хранилища, необходимого для адреса памяти.
+
  
 
=== Ответы ===
 
=== Ответы ===
# Правильный ответ: Односвязный список с указателями на начало и конец
+
* Правильный ответ: Односвязный список с указателями на начало и конец
# Двусвязный список только с указателем на начало
+
* Двусвязный список только с указателем на начало
# Массив
+
* Массив
# Двоичное дерево
+
* Двоичное дерево
# Хэш-таблица
+
* Хэш-таблица
 
+
 
+
  
 
=== Объяснение ===
 
=== Объяснение ===
  
 
{{cstest-source|2011-gre-cs-practice-book.pdf|18|8}}
 
{{cstest-source|2011-gre-cs-practice-book.pdf|18|8}}
Приведем хотя-бы 1 причину, почему некоторые кандидаты не подходят:
 
  
# Односвязный список с указателями на начало и конец - эта структура данных позволяет извлекать и удалять элементы в порядке FIFO, поскольку она сохраняет порядок вставки. Она может вмещать любое количество элементов, поскольку нет априорного ограничения. Размер элемента, большой относительно хранилища, необходимого для адреса памяти, не влияет на выбор этой структуры данных.  
+
Приведем хотя бы одну причину, почему некоторые кандидаты не подходят:
#Двусвязный список, только с указателем на заголовок — наличие только указателя на заголовок затрудняет реализацию требования FIFO.
+
 
#Массив — накладывает априорное ограничение на размер коллекции, чего нет в других структурах данных.
+
# Односвязный список с указателями на начало и конец — эта структура данных позволяет извлекать и удалять элементы в порядке FIFO, поскольку она сохраняет порядок вставки. Она может вмещать любое количество элементов, поскольку нет априорного ограничения. Размер элемента, большой относительно хранилища, необходимого для адреса памяти, не влияет на выбор этой структуры данных.
#Двоичное дерево — не организует элементы таким образом, чтобы было удобно реализовать FIFO.
+
# Двусвязный список, только с указателем на заголовок — наличие только указателя на заголовок затрудняет реализацию требования FIFO.
#Хеш-таблица — не сохраняет в общем порядок, то есть требование FIFO не удовлетворяется, да и с памятью беда, ведь придется каждый раз перезадавать размер, когда условно таблица будет заполняться.
+
** [[Участник:StasFomin|StasFomin]]: не затрудняет. Все тоже самое можно сделать что и с односвязным, просто лишняя трата памяти.
 +
# Массив — накладывает априорное ограничение на размер коллекции, чего нет в других структурах данных.
 +
** [[Участник:StasFomin|StasFomin]]: ну тут просто потребуется большой непрерывный кусок памяти, это дорого.
 +
# Двоичное дерево — не организует элементы таким образом, чтобы было удобно реализовать FIFO.
 +
# Хеш-таблица — не сохраняет в общем порядок, то есть требование FIFO не удовлетворяется, да и с памятью беда, ведь придется каждый раз перезадавать размер, когда условно таблица будет заполняться.
  
{{question-ok|}}
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 20:43, 18 декабря 2024 (UTC)}}
  
{{checkme|[[Участник:Urmat A|Urmat A]] 15:09, 18 декабря 2024 (UTC)}}
+
[[Категория:Структуры данных]]

Версия 20:43, 18 декабря 2024

Вопрос: Q08-08c765

Какая структура данных будет наиболее подходящей чтобы хранить элементы и иметь следующие три характеристики?

  1. Элементы извлекаются и удаляются из коллекции в порядке FIFO (First-In-First-Out).
  2. Нет априорного ограничения на количество элементов.
  3. Размер элемента велик относительно хранилища, необходимого для прямой выделения памяти и адресации элементов.

Ответы

  • Правильный ответ: Односвязный список с указателями на начало и конец
  • Двусвязный список только с указателем на начало
  • Массив
  • Двоичное дерево
  • Хэш-таблица

Объяснение

Исходники — вопрос 8 на 18 странице книги «2011-gre-cs-practice-book.pdf»

Приведем хотя бы одну причину, почему некоторые кандидаты не подходят:

  1. Односвязный список с указателями на начало и конец — эта структура данных позволяет извлекать и удалять элементы в порядке FIFO, поскольку она сохраняет порядок вставки. Она может вмещать любое количество элементов, поскольку нет априорного ограничения. Размер элемента, большой относительно хранилища, необходимого для адреса памяти, не влияет на выбор этой структуры данных.
  2. Двусвязный список, только с указателем на заголовок — наличие только указателя на заголовок затрудняет реализацию требования FIFO.
    • StasFomin: не затрудняет. Все тоже самое можно сделать что и с односвязным, просто лишняя трата памяти.
  1. Массив — накладывает априорное ограничение на размер коллекции, чего нет в других структурах данных.
    • StasFomin: ну тут просто потребуется большой непрерывный кусок памяти, это дорого.
  1. Двоичное дерево — не организует элементы таким образом, чтобы было удобно реализовать FIFO.
  2. Хеш-таблица — не сохраняет в общем порядок, то есть требование FIFO не удовлетворяется, да и с памятью беда, ведь придется каждый раз перезадавать размер, когда условно таблица будет заполняться.