Написать программу для работы по запросам оператора с упорядоченной таблицей в двух ключевом ограниченном пространстве, реализованной в виде Q-дерева поиска. Количество элементов в одном квадрате ограничено числом N. Узел дерева содержит границы ключей в каждом пространстве, массив указателей на поддеревья и указатель на начало списка элементов (ключи + информация) в порядке возрастания ключей (приоритет по первому ключу).

Данные хранятся только в листьях дерева.

В таблице не могут храниться записи с одинаковыми ключами.

Предусмотреть следующие операции:

Включение нового элемента в таблицу без нарушения свойств упорядоченности; если информация с заданным ключом уже есть, но дублирование ключей не допускается, то выводится сообщение об ошибке.

Удаление из таблицы элемента, заданного своим ключом, без нарушения свойств упорядоченности таблицы (если элементов несколько, то указывается номер удаляемого элемента).

Поиск информации по заданному ключу; если элементов с одинаковым ключом может быть несколько, указывается порядковый номер искомого элемента; возврат осуществлять при помощи указателя, возврат копий элементов не допускается.

Вывод всего содержимого таблицы в обратном порядке следования ключей в заданном диапазоне (если ключей несколько, указывается диапазон по обоим ключам).

Поиск элемента, наиболее отличающегося по значению ключа от заданного ключа (если таких элементов несколько – действовать по аналогии с операцией поиска по ключу; для Q и kd-деревьев, использовать евклюдову метрику).

Примечания:

1. Программа должна содержать несколько функций; функция main() должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции.

2. В программе нужно предусмотреть проверку правильности ввода данных.

3. Оценить сложность реализованных алгоритмов.

4. Для целей отладки реализовать форматированный вывод таблицы в виде дерева.

5. Для целей отладки реализовать загрузку таблицы из файла в формате

• Ключ1

• Инофрмация1

• Ключ2

• …

6. Провести таймирование (или профилирование) программы.

4 года назад
damjer2222
22 года
4 года в сервисе
Был
4 года назад

Заявки фрилансеров

Нет заявок фрилансеров
  • Похожие заказы

  • $6

    Требуется выполнение лабораторных работ по черчению. Срок сдачи - до завтрашнего утра. Необходимо учитывать все требования и детали задания.

    Закрыт
    4 года назад
  • Необходимо выполнить три лабораторные работы по компьютерной графике, включая написание кода и запись видео выполнения. Примеры отчетов будут предоставлены. Срок выполнения - до 3 июня. Рекомендуется работать над лабораторными параллельно. Цена обсуждается.

    Закрыт
    4 года назад
  • Требуется разработать 6 лабораторных работ по ИКТ в образовании, включая создание AVI-фильма, презентации и других учебных материалов. Ожидаются предложения по срокам и ценам. Подробности будут предоставлены по запросу.

    Закрыт
    4 года назад
  • Задача заключается в разработке алгоритма для подсчета максимального количества не выпадения чисел на рулетке. Требуется объяснить, как определить максимальные серии не выпадения для данных чисел, например: 0, 1, 2, 3, 4, 5, 6. Ожидается четкое объяснение подхода к решению задачи.

    Закрыт
    4 года назад
  • Требуется выполнить 4 лабораторные работы по операционным системам по предоставленному техническому заданию. Задания написаны на украинском языке. Если это затруднение, возможно предоставление перевода текста.

    Закрыт
    4 года назад
  • Требуется выполнить 4 лабораторные работы по операционным системам согласно техническому заданию из мануала. Обеспечить соответствие всем требованиям и стандартам.

    Закрыт
    4 года назад
  • $10

    Необходимо реализовать алгоритм Беллмана-Форда для неориентированного графа на C++ без использования объектно-ориентированного программирования. Граф фиксированный с 10 вершинами и положительными весами. Важно предоставить подробное объяснение каждого этапа кода.

    Закрыт
    4 года назад
  • Необходимо подготовить отчет по лабораторной работе по системам трансляций на тему проектирования транслятора методом Бэкуса-Наура для растровых изображений. Программа не требуется, только отчет с объяснением процесса выполнения. Срок выполнения 2-4 дня, окончательный срок до 08.05.2020.

    Закрыт
    4 года назад