У меня большое двоичное дерево, т. Т "совпадает". Некоторое количество поддеревьев T также будет соответствовать. Фактически, совпадающие поддеревья не обязательно должны быть полными поддеревьями: они также могут быть усечены. Под усеченным поддеревом я подразумеваю, что узлы в поддереве могут не содержать дочерние элементы полностью - некоторые узлы, у которых есть дочерние элементы, могут удалять своих дочерних элементов.
Пример: см. эту ссылку . Дерево, представленное как poem1, stanza1, stanza2, line3, является примером усеченного поддерева.
Чтобы определить, соответствует ли дерево, требуется выполнить вычисления для всего этого дерева. Это не прогрессивно.
Как, черт возьми, я нахожу все совпадения?