# Лабораторная работа №2. Построение бинарного дерева
### 1.1 Постановка задачи
Разработайте программу на языке Python, которая будет строить бинарное дерево (дерево, в каждом узле которого может быть только два потомка). Отображение результата в виде словаря (как базовый вариант решения задания). Далее исследовать другие структуры, в том числе доступные в модуле `collections` в качестве контейнеров для хранения структуры бинарного дерева.
Необходимо реализовать рекурсивный вариант `gen_bin_tree`
Алгоритм построения дерева должен учитывать параметры, переданные в качестве аргументов функции. Пример:
```python
defgen_bin_tree(height=<number>,root=<number>):
pass
```
Если параметры были переданы, то используются они. В противном случае используются параметры, указанные в варианте.
Дерево должно обладать следующими свойствами:
- В корне дерева (root) находится число, которое задает пользователь (индивидуально для студента).
- Высота дерева (height) задается пользователем (индивидуально для студента).
- Левый (left leaf) и правый потомок (right leaf) вычисляется с использованием алгоритмов, индивидуальных для каждого студента в группе и приведен ниже.