Результаты поиска по запросу "binary-tree"

0 ответов

демонстрация

ужно получить все узлы на определенном уровне в полном двоичном дереве из левого или правого поддерева. В настоящее время я получаю двоичное дерево из БД в виде массива, например:[1,2,3,4,5,6,7] представляет дерево как это: 1 / \ / \ 2 3 / \ / \ ...

0 ответов

 должно быть, был неверным. Это доказывает претензию.

далось создать доказательство, которое показывает, что максимальное количество узлов в дереве равно n = 2 ^ (h + 1) - 1, и логически я знаю, что высота двоичного дерева равна log n (могу нарисовать его) чтобы увидеть) но у меня возникли проблемы ...

3 ответа

@tobias_k Ни в коем случае это не происходит :) Добавляя это как предупреждение, спасибо за указание на это.

дал кортеж из двоичного дерева, и это выглядит так: кортеж = (1, (2, (4,5,6), (7, нет, 8)), (3,9, (10,11,12))) Древовидная структура становится более ясной, применяя отступы: (1, (2, (4, 5, 6 ), (7, None, 8 ) ), (3, 9, (10, 11, 12 ) ) )Я знаю, ...

ТОП публикаций

2 ответа

После того, как это исправить, кажется, все работает хорошо.

т, я пытаюсь восстановить двоичное дерево, я почти получил его, за исключением того, что он выдает ошибку, и я не знаю, почему buildTree :: (Ord a, Eq a) => [a] -> [a] -> Tree a buildTree [] [] = Empty buildTree preOrd inOrd = Node root left ...

1 ответ

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

аюсь решить эту проблему, но у меня есть некоторые проблемы: В бинарном дереве поиска (BST): Значение данных каждого узла в левом поддереве узла меньше значения данных этого узла.Значение данных каждого узла в правом поддереве узла больше, чем ...

3 ответа

Вставить отсортированный массив в двоичное дерево поиска

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

25 ответов

После этого пока цикл ставит разрыв строки.

могу напечатать бинарное дерево в Java, чтобы вывод был похож на: 4 / \ 2 5Мой узел: public class Node<A extends Comparable> { Node<A> left, right; A data; public Node(A data){ this.data = data; } }

5 ответов

Я не знаю способа «чистого питона», который уже реализован для вас. Однако вы должны проверить ANTLR (http://www.antlr.org/), это анализатор с открытым исходным кодом и лексер, и он имеет API для ряда языков, включая python. Также на этом сайте есть несколько отличных видеоуроков, которые покажут вам, как делать именно то, что вы просите. Это очень полезный инструмент, чтобы знать, как использовать в целом.

у разбить данное математическое выражение на дерево разбора следующим образом: ((3 + 4 - 1) * 5 + 6 * -7) / 2 '/' / \ + 2 / \ * * / \ / \ - 5 6 -7 / \ + 1 / \ 3 4Есть ли чистый способ Python сделать это? Как передача в Python в виде строки, а ...

0 ответов

) который имеет ответ "начало работы", который может вам помочь.

first(M,N):- N>0,M=..[H|T],((T==[],write(H));(T\=[],write(H),Q is N-1,second(T,Q))). second(M,N):- N>0,M=[H|T],first(H,N),((T==[]);(T\=[],second(T,N))). second(_,0):-!.у вырезать дерево из глубины. Я пишу программу, которая дает мне этот ...

4 ответа

+1, хороший трюк с генератором

аюсь сохранить простую (но довольно большую) древовидную структуру в двоичный файл, используя Haskell. Структура выглядит примерно так: -- For simplicity assume each Node has only 4 childs data Tree = Node [Tree] | Leaf [Int] И вот как мне ...