Graft Tree (Привить Дерево)


Как правило, элементы данных сохранены в ветвях, как определённые значения индексов (0 для первого элемента, 1 для второго и так далее), а ветви сохраняются в дереве как определённые пути ветвления, например: {0;1}, которая указывает вторую подветвь первой основной ветви.

В Уплощаемом дереве вся информация о ветвлении удаляется и все Элементы данных будут присоединены к единственной ветви. Прививание (Grafting), как противоположность этой операции, создаёт новую ветвь для каждого элемента данных. Например, представьте, что у нас есть дерево с двумя ветвями:

A = {0;0}
B = {0;1}

Каждая ветвь содержит 3 элемента данных (индексы от 0 до 2).

Когда мы делаем прививание к этому дереву, мы, в конечном итоге, имеем 6 ветвей, содержащих каждая по единственному элементу:

Aa = {0;0;0}
Ab = {0;0;1}
Ac = {0;0;2}
Ba = {0;1;0}
Bb = {0;1;1}
Bc = {0;1;2}


Вводные параметры:
D (Generic Data (Общие данные))
Данные для прививания


Результирующие параметры:
T (Generic Data (Общие данные))
Результат прививания