Я работаю над небольшим алгоритмом, который строит двоичное дерево в порядке уровня. Мне задан массив, и я должен использовать значения в нем для построения двоичного дерева в порядке уровня. Пример: arr inarr [5] = {1,2,3,4,5};Создание двоичного дерева в порядке уровня от массива
данный массив, как это мне нужно, чтобы заполнить в бинарном дереве, чтобы выглядеть следующим образом:
1
/ \
2 3
/\ /\
4 5 * *
(* являются NULL) узлы являются основными бинарными узлы с левым и правым указателем и пробел для int, который содержит значение из массива.
Я понимаю концепцию пересечения дерева по его высоте, и вы проходите через него на один уровень за раз, но я не уверен в правильной логике, которая правильно ее построит.
http://stackoverflow.com/q/23668389/971127 – BLUEPIXY
построить пустое дерево в O (n), и если ваш массив отсортирован, вы можете пройти его по порядку и соответствующим образом заполнить узлы. Дерево, которое вы создаете, представляет собой полное двоичное дерево с удалением листьев справа, чтобы соответствовать размеру вашего массива. – ThunderWiring
Возможный дубликат [Javascript TCP connection to server] (http://stackoverflow.com/questions/991713/javascript-tcp-connection- to-server) – starkshang