2001-gre-vs-practice.pdf/Q09 — различия между версиями
Материал из DISCOPAL
(→Вопрос: Q09-e5724f) |
(→Вопрос: Q09-e5724f) |
||
Строка 2: | Строка 2: | ||
== Вопрос: Q09-e5724f == | == Вопрос: Q09-e5724f == | ||
− | + | Рассмотрим односвязный список, где F это указатель на начало списка, а L на конец. Время выполнения каких операций из предложенных зависит от длины списка? | |
− | + | [[Файл:List single.png]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
=== Ответы === | === Ответы === | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | * Правильный ответ: Удаление последнего элемента списка | ||
+ | * Удаление первого элемента списка | ||
+ | * Добавление элемента в конец | ||
+ | * Добавление элемента в начало | ||
+ | * Поменять местами первые 2 элемента списка | ||
=== Объяснение === | === Объяснение === | ||
− | + | {{cstest-source|2001-gre-vs-practice.pdf|16|9}} | |
− | {{cstest-source|2001-gre-vs-practice.pdf| | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
+ | Чтобы удалить последний элемент списка, нам нужно обновить указатель L на предпоследний элемент, но т.к. список односвязный, то чтобы узнать адрес предпоследнего элемента, придется идти от начала до конца списка. | ||
+ | Остальные операции можно выполнить за O(1), зная F и L. | ||
{{reserve-task|[[Участник:KoshelevEA|KoshelevEA]] 06:19, 8 января 2025 (UTC)}} | {{reserve-task|[[Участник:KoshelevEA|KoshelevEA]] 06:19, 8 января 2025 (UTC)}} | ||
+ | {{checkme|[[Участник:KoshelevEA|KoshelevEA]] 13:30, 12 января 2025 (UTC)}} | ||
{{question-ok|}} | {{question-ok|}} | ||
[[Категория:Надо не забыть выбрать тему]] | [[Категория:Надо не забыть выбрать тему]] |
Версия 13:30, 12 января 2025
Вопрос: Q09-e5724f
Рассмотрим односвязный список, где F это указатель на начало списка, а L на конец. Время выполнения каких операций из предложенных зависит от длины списка?
Ответы
- Правильный ответ: Удаление последнего элемента списка
- Удаление первого элемента списка
- Добавление элемента в конец
- Добавление элемента в начало
- Поменять местами первые 2 элемента списка
Объяснение
Исходники — вопрос 9 на 16 странице книги «2001-gre-vs-practice.pdf»
Чтобы удалить последний элемент списка, нам нужно обновить указатель L на предпоследний элемент, но т.к. список односвязный, то чтобы узнать адрес предпоследнего элемента, придется идти от начала до конца списка. Остальные операции можно выполнить за O(1), зная F и L.
Задача зарезервирована: KoshelevEA 06:19, 8 января 2025 (UTC)
Решено: KoshelevEA 13:30, 12 января 2025 (UTC)