Лабораторная работа 5: Произвольные структуры данных. Деревья. вариант 3
Описание
Цель работы (Вариант 3)
- Создать модуль EvalTrees (описанный в тексте пособия Г.А. Макеева).
- Для заданного списка чисел и определенных операций в дереве вычислений вывести дерево с заданными результатами вычислений (или получить ответ, что это невозможно). Данные по вариантам приведены в таблице.
a) -0.25
b) наименьшее целое число
- Определить тип данных для бинарного поискового дерева: data Ord a => SearchTree a = Empty | Branches a (SearchTree a) (SearchTree a) deriving (Show, Eq), запросите и объясните тип функций-конструкторов-данных Empty и Branches, постройте с помощью этих функций простейшие деревья.
- Реализовать в деревьях поиска функции добавления элементов, поиска с выводом (список просмотренных вершин до нужного элемента), проверки сбалансированности дерева и построения идеально сбалансированного дерева. Элементы дерева указаны в вариантах, достаточно 10-15 элементов.
Определить тип данных для предложенного в варианте объекта.
Вектор на плоскости
Реализовать для определенного в зад.1 типа указанную функцию, переопределив ее. Придумать и реализовать еще 2-3 подходящие функции для работы с объектами вашего типа.
Функцию умножения (скалярного).
Показать/скрыть дополнительное описаниеЦель работы (Вариант 3) Создать модуль EvalTrees (описанный в тексте пособия Г.А. Макеева). Для заданного списка чисел и определенных операций в дереве вычислений вывести дерево с заданными результатами вычислений (или получить ответ, что это невозможно). Данные по вариантам приведены в таблице. Для списка чисел [3,4,6,7] найти с помощью дерева вычислений: a ) -0.25 b ) наименьшее целое число Определить тип данных для бинарного поискового дерева: data Ord a => SearchTree a = Empty | Branches a (SearchTree a) (SearchTree a) deriving (Show, Eq), запросите и объясните тип функций-конструкторов-данных Empty и Branches, постройте с помощью этих функций простейшие деревья.
Реализовать в деревьях поиска функции добавления элементов, поиска с выводом (список просмотренных вершин до нужного элемента), проверки сбалансированности дерева и построения идеально сбалансированного дерева. Элементы дерева указаны в вариантах, достаточно 10-15 элементов. Список чисел Фибоначчи Определить тип данных для предложенного в варианте объекта. Вектор на плоскости Реализовать для определенного в зад.1 типа указанную функцию, переопределив ее. Придумать и реализовать еще 2-3 подходящие функции для работы с объектами вашего типа. Функцию умножения (скалярного). .