Обновление:
Я нашел еще один пример того, что я пытаюсь реализовать: Управление Иерархические данные в 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, но в итоге пишу цикл для каждого уровня высоты дерева, который для динамических данных и деревьев неизвестной высоты с неизвестным количеством дочерних элементов на узел это не работает. Я знаю, что в какой-то момент я научился пересекать такое дерево, но сейчас это полностью ускользает от меня. Кто-нибудь знает, как это делается с точки зрения циклов?