Обновление:
Я нашел еще один пример того, что пытаюсь реализовать: Управление иерархическими данными в MySQL. Я хочу сделать это, но на JavaScript, потому что я создаю приложение, которое принимает комментарии, которые находятся в иерархической структуре, а точнее на reddit.com. Если у вас есть расширение Pretty JSON в вашем браузере Chrome, перейдите на Reddit и нажмите на комментарии к темам, а затем добавьте .json к URL-адресу, чтобы увидеть, что я анализирую.
Я получаю данные JSON в порядке, это просто парсинг через комментарии и добавив соответствующий HTML-код, чтобы показать, что он вложен.
Идеи для решений?
СТАРЫЙ вопрос:
Я работаю над программой и дошел до того, что мне нужно выяснить логику, прежде чем писать код. Я беру данные в формате дерева, но с возможностью наличия нескольких дочерних узлов для каждого родительского узла, и единственное дерево, в котором я могу найти данные, - это дерево с весами или дерево, где максимум у каждого узла есть два дочерних узла. Итак, я пытаюсь выяснить алгоритм для оценки каждого узла дерева следующим образом:
startingParent[15] // [# of children]
child1[0]
child2[5]
child2ch1[4]
...
child2ch5[7]
child3[32]
...
child15[4]
Теперь, когда я пытаюсь написать, как будет работать мой алгоритм, я в конечном итоге пишу вложенные циклы for / while, но в итоге я пишу цикл для каждого уровня высоты дерева, который для динамических данных и деревьев неизвестной высоты с неизвестным числом детей на узел это не работает. Я знаю, что в какой-то момент я научился пересекать такое дерево, но сейчас это полностью ускользает от меня. Кто-нибудь знает, как это делается с точки зрения петель?