Самостоятельная работа по теме "Структуры данных"
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().Для
Stackmax()— вернуть максимальный элементmid()— вернуть «средний» элемент (без удаления остальных)
Для
Queuecontains(item)/__contains__— проверить, есть ли элемент.
Проверка: на основе этих классов смоделировать простой процесс: добавлять 5 элементов, затем поочередно их извлекать, выводя на экран.