Деревья поиска
В задаче требуется организовать структуру данных (дерево) для хранения, поиска и удаления элементов определенного вида. Каждый элемент имеет ключ и некоторые данные, ассоциированные с этим ключом. Считается, что в структуре данных ключ однозначно определяет элемент. Определены следующие операции: сохранение нового элемента, удаление и поиск элемента по ключу. Сохранение нового элемента с ключом K и данными D заключается в следующем. Если в структуре данных уже есть элемент с таким ключом, данные этого элемента перезаписываются данными нового элемента, иначе, в структуре данных появляется новый элемент с ключом K и данными D. Поиск элемента по ключу заключается в нахождении в структуре данных такого элемента, ключ которого соответствует заданному ключу. Удаление элемента по ключу заключается в удалении из структуры данных элемента с заданным ключом (если элемента с таким ключом нет, ничего делать не нужно).
На стандартном потоке ввода задается последовательность операций, которые необходимо выполнить. Каждая операция задана в отдельной строке. Операции имеют вид op [key [data]] (квадратные скобки означают, что, в зависимости от конкретной операции, параметры могут включаться или отсутствовать). Параметры key, data являются целыми 32-битными числами. Параметр op задает операцию и может принимать значения A, D, S и F. Значение A означает операцию добавления (обновления) элемента с ключом key и данными data, она имеет вид A key data. Значение D означает операцию удаления элемента с ключом key и имеет вид D key. Значение S означает операцию поиска элемента по ключу key и имеет вид S key. Значение F означает окончание входных данных. В результате выполнения операции поиска, в случае нахождения элемента с нужным ключом, на стандартный поток вывода напечатайте значения ключа и данных найденного элемента через пробел. Ничего более на стандартный поток вывода печатать не следует.
Все операции, кроме F, могут идти в произвольном порядке. Последней всегда идет операция F. В результате выполнения этой операции, программа должна освободить занимаемые ресурсы и завершить работу. Максимально возможное число операций составляет 15000 операций.
Указание: для решения задачи реализовать какое-либо дерево поиска.
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |