Самостоятельная работа по теме "Структуры данных"
1. Телефонная книга
Описание: реализовать телефонную книгу с использованием словаря и списков.
Требования:
Словарь: ключ – фамилия абонента, значение – список телефонных номеров (строк).
Функции:
add_contact(last_name: str, phone: str)
– добавить телефон к фамилии (если фамилии нет – создать новую запись).remove_contact(last_name: str)
– удалить всю запись.find_contact(last_name: str) -> list
– вернуть список телефонов (или пустой список, если нет).
list_all() -> dict
– показать словарь целиком.
Описание: реализовать структуры «стек» и «очередь» на основе списков.
Требования:
Класс
Stack
с методамиpush(item)
,pop()
,peek()
,is_empty()
.Класс
Queue
с методамиenqueue(item)
,dequeue()
,front()
,is_empty()
.Для
Stack
max()
— вернуть максимальный элементmid()
— вернуть «средний» элемент (без удаления остальных)
Для
Queue
contains(item)
/__contains__
— проверить, есть ли элемент.
Проверка: на основе этих классов смоделировать простой процесс: добавлять 5 элементов, затем поочередно их извлекать, выводя на экран.