Двоичное дерево http://img9.imageshack.us/img9/9981/binarytree.jpg
Каков наилучший способ сериализации заданного двоичного дерева, и Inturn оценивает уникальный идентификатор для каждого сериализованного двоичного дерева?
Например, мне нужно сериализовать поддерево (2,7, (5,6,11)) и сгенерировать уникальный идентификатор ' x ', представляющий это поддерево, чтобы всякий раз, когда я наткнуться на подобное поддерево (2,7, (5,6,11)), оно будет сериализовано в одно и то же значение ' x ', и, следовательно, я могу сделать вывод, что нашел совпадение. 1010 *
Здесь мы предполагаем, что каждый узел обладает уникальными свойствами. В приведенном выше примере это будут номера, назначенные каждому узлу, и, следовательно, они всегда будут генерировать одинаковые идентификаторы для похожих поддеревьев. Я пытаюсь сделать это в C ++.
Существуют ли уже алгоритмы для выполнения такого последовательного сопоставления деревьев?