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

Материал из DISCOPAL
Перейти к: навигация, поиск
(Вопрос: Q08-08c765)
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
 
+
== Вопрос: Q08-08c765 ==
{{reserve-task|[[Участник:Urmat A|Urmat A]] 14:20, 18 декабря 2024 (UTC)}}== Вопрос: Q08-08c765 ==
+
Какая структура данных будет наиболее подходящей чтобы хранить элементы и иметь следующие три характеристики?
 
+
# Элементы извлекаются и удаляются из коллекции в порядке FIFO (First-In-First-Out).
<i>Тут вставьте перевод вопроса.
+
# Нет априорного ограничения на количество элементов.
Используйте [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».
+
 
+
Старайтесь нетривиальные понятия, особенно незнакомые вам, найти ссылку на википедию и вставить (нейросети лажают!).  
+
Это важно, чтобы найти корректный перевод (то, что в википедии, или на худой конец — точно массово гуглится).
+
 
+
Потом конечно сотрите инструкции, которые тут курсивом.</i>
+
  
 
=== Ответы ===
 
=== Ответы ===
<i>Если ответы простые, однострочные, используйте простой способ задания ответов списком, типа так
+
* Правильный ответ: Односвязный список с указателями на начало и конец
(префикс «Правильный ответ:» — это дословно, для правильного ответа, неважно, какой он будет в списке)</i>
+
* Двусвязный список только с указателем на начало
 +
* Массив
 +
* Двоичное дерево
 +
* Хэш-таблица
  
* Правильный ответ: тут реально правильный ответ
+
=== Объяснение ===
* неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
* еще какой-то неправильный ответ
+
  
<i>Если ответы длинные, многострочные, или там графы, используйте
+
{{cstest-source|2011-gre-cs-practice-book.pdf|18|8}}
[https://wiki.4intra.net/MediawikiQuizzer/ru#.D0.9E.D1.82.D0.B2.D0.B5.D1.82.D1.8B способ задания ответов разделами],
+
Но такое очень редко встречается. </i>
+
 
+
 
+
=== Объяснение ===
+
<i>Сначала заполните номер страницы с этим вопросом
+
{{cstest-source|2011-gre-cs-practice-book.pdf|тут-номер-страницы-с-вопросом-8|8}}
+
  
Если все сделаете правильно, по ссылке выше будет открываться правильная страница в правильном PDFе.
+
Приведем хотя бы одну причину, почему некоторые кандидаты не подходят:
  
Ну и наконец, вики-разметкой напишите ваше понимание, почему правильный ответ — правильный, а [[2004-gre-cs-practice-book.pdf/Q16|неправильные варианты — неправильны]].
+
* Односвязный список с указателями на начало и конец — эта структура данных позволяет извлекать и удалять элементы в порядке FIFO, поскольку она сохраняет порядок вставки. Она может вмещать любое количество элементов, поскольку нет априорного ограничения. Размер элемента, большой относительно хранилища, необходимого для адреса памяти, не влияет на выбор этой структуры данных.
Тут тоже могут быть полезны [[2004-gre-cs-practice-book.pdf/Q03|ссылки на википедию]],  
+
* Двусвязный список, только с указателем на заголовок — наличие только указателя на заголовок затрудняет реализацию требования FIFO.
решение вами [[2004-gre-cs-practice-book.pdf/Q12|рекуррентных уравнений в sympy]].
+
** [[Участник:StasFomin|StasFomin]]: не затрудняет. Все тоже самое можно сделать что и с односвязным, просто лишняя трата памяти.
 +
* Массив — накладывает априорное ограничение на размер коллекции, чего нет в других структурах данных.
 +
** [[Участник:StasFomin|StasFomin]]: ну тут просто потребуется большой непрерывный кусок памяти, это дорого.
 +
* Двоичное дерево — не организует элементы таким образом, чтобы было удобно реализовать FIFO.
 +
* Хеш-таблица — не сохраняет в общем порядок, то есть требование FIFO не удовлетворяется, да и с памятью беда, ведь придется каждый раз перезадавать размер, когда условно таблица будет заполняться.
  
</i>
+
{{question-ok|[[Участник:StasFomin|StasFomin]] 20:43, 18 декабря 2024 (UTC)}}
  
{{question-ok|}}
+
[[Категория:Структуры данных]]

Текущая версия на 20:44, 18 декабря 2024

Вопрос: Q08-08c765

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

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

Ответы

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

Объяснение

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

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

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