Я хочу создать дерево в Фортране (90), как на этом рисунке:
Идея состоит в том, что я тогдаМожно пройти путь через дерево, начиная с корня, следующим образом.На каждом узле выполните проверку со значением, сохраненным там: проходя проверку, переместитесь к самому левому дочернему элементу, не пройдя или достигнув конечного узла, переместите самый высокий узел, к которому еще не был пройден обход.Вот пример возможного обхода (зеленый указывает на прохождение теста, а красный - не на прохождение):
Важно, что не каждый узел достигнут (черными), что на самом деле является точкой процедуры.
Итак, я думаю, мне нужна подпрограмма, которая вставила бы узлы в дерево, чтобы построить ее, и еще одна, которая позволила бы мне следовать по путямтипа, описанного выше.
Мой вопрос: возможно ли это?Есть ли у этой структуры данных имя?
Конечно, у меня практически нет опыта в построении таких структур данных, Google не сильно помог.Пример кода был бы отличным, но я был бы рад, если бы я просто сослался на чтение, где я мог бы изучить это.