Я видел несколько статей/страниц о том, как соединить узлы бинарного дерева, которые находятся на одном уровне, но ни одна из этих статей четко не объясняет процесс/алгоритм. Буду признателен, если кто-то возьмется за это. Код не обязателен, но объяснить его с помощью псевдо будет неплохо.
Для обсуждения давайте рассмотрим дерево как:
0
1 2
3 4 5 6
7 9
В приведенном выше случае:
0 should point to null.
1 should point to 2.
3 should point to 4.
....
7 should point to 9.
9 should point to NULL.
Базовая древовидная структура:
class Tree {
public:
int data;
Tree* left;
Tree* right;
Tree* next;
}