Поиск слова для “выравнивания дерева”

Я задаюсь вопросом, существует ли существующее слово для описания процесса, который я в настоящее время использую. Я хочу назвать его "выравниванием дерева", но я чувствую, что должно быть лучшее слово или фраза.

вход:

  |--D
--B
| |--C
|
A-E
|
| |--G
--F
  |--H

вывод:

[ [A, B, D]
  [A, B, C]
  [A, E]
  [A, F, G]
  [A, F, H] ]

Существует ли установленное название этого процесса?

11
задан mwhite 24 July 2010 в 00:41
поделиться

9 ответов

Перечисление путей?

Обход DFS?

или моя любимая

Массивы дерева!

7
ответ дан 3 December 2019 в 05:33
поделиться

Как насчет 'Hydrating' (или DeHydrating) в зависимости от ситуации?

4
ответ дан 3 December 2019 в 05:33
поделиться

Я бы сказал, что вы просто обходите дерево, сохраняя путь к текущему узлу. Когда вы посещаете лист, вы печатаете полный путь к нему.

Я не думаю, что есть конкретное название, но это не сильно отличается от очень простого обхода.

3
ответ дан 3 December 2019 в 05:33
поделиться

Вам нужен поиск в глубину, чтобы захватить каждый путь из корень к листу.

Псевдокод:

global allPaths = []
R = root
currentPath = []
findPaths(R, currentPath)

findPaths(R, currentPath){
if R has no children,
allPaths.add( currentPath )

else
for each child C in R:
findPaths(C, currentPath + R)
}
0
ответ дан 3 December 2019 в 05:33
поделиться

Де-нормализация, казалось бы, лучше всего. Потому что действительно, если вы заметите вашу новую структуру, у вас есть избыточные данные, и это, похоже, напрямую соответствует концептуальной идее.

2
ответ дан 3 December 2019 в 05:33
поделиться

Если входными данными является дерево, а выходными данными список цитируемых вами списков, вы на самом деле ищете не фразу для процесса , а имя для подпрограмму вы вызываете. И имя такой подпрограммы должно быть описанием того, что она возвращает .

Как насчет RootPathsOfLeaves ? или его переделка ...

0
ответ дан 3 December 2019 в 05:33
поделиться

Да, это называется Сериализация

2
ответ дан 3 December 2019 в 05:33
поделиться

Я думаю об этом как о коалесценции части дерева.

0
ответ дан 3 December 2019 в 05:33
поделиться

Как насчет "Бензопилы"

2
ответ дан 3 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: