Лучшие binary-tree вопросы ИТ разработчиков

  • 16голос
  • 1ответ
  • 0просмотров

Обеспечение горизонтального упорядочения узлов в дереве .dot

Я пытаюсь воссоздать пример диаграммы для двоичного дерева поиска с GraphViz. Вот как это должно выглядеть в конце: Это моя первая попытка: digraph G { nodesep=0.3; ranksep=0.2; margin=0.1; node [shape=circle]; edge [arrowsize=0.8]; 6 -> 4; 6 ...

Задан Jun 05, 2012, 8:09 PMот0__
  • 17голосов
  • 11ответов
  • 0просмотров

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

Это вопрос интервью Я думаю о решении. Использует очередь. public Void BFS() { Queue q = new Queue(); q.Enqueue(root); Console.WriteLine(root.Value); while (q.count > 0) { Node n = q.DeQueue(); if (n.left !=null) { Console.Writeln(n.left); ...

Задан Nov 09, 2012, 7:17 AMотCoding MashLearner
  • 6голосов
  • 10ответов
  • 0просмотров

Найдите, является ли дерево поддеревом другого

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

Задан Jun 19, 2009, 1:51 PMотAnthonyWJonessud03r
  • 0голосов
  • 2ответа
  • 0просмотров

Пересечение 2-х двоичных деревьев выдает ошибку переполнения стека

Я пытаюсь пересечь два двоичных дерева и создать новое двоичное дерево с одинаковыми узлами, но следующее создает ошибку stackOverflow. Может кто-нибудь мне помочь? private OrderedSet<E> resultIntersect = new OrderedSet<E>(); ...

Задан Jun 30, 2012, 4:19 AMотTinkerbell
  • 13голосов
  • 9ответов
  • 0просмотров

Диаметр бинарного дерева - лучший дизайн

Я написал код для определения диаметра бинарного дерева. Нужны предложения по следующему: Can I do this without using static variable at class level?Is the algorithm fine/any suggestions? public class DiameterOfTree { public static int ...

Задан Aug 10, 2012, 7:30 AMотManish
  • 16голосов
  • 2ответа
  • 0просмотров

Приятно печатать / показывать двоичное дерево в Haskell

У меня есть тип данных дерева: data Tree a b = Branch b (Tree a b) (Tree a b) | Leaf a... и мне нужно сделать это экземпляромShow, без использованияderiving, Я обнаружил, что красиво отобразить небольшую ветвь с двумя листьями очень ...

Задан Sep 23, 2012, 9:34 PMотnicole
  • 16голосов
  • 2ответа
  • 0просмотров

Приятно печатать / показывать двоичное дерево в Haskell

У меня есть тип данных дерева: data Tree a b = Branch b (Tree a b) (Tree a b) | Leaf a... и мне нужно сделать это экземпляромShow, без использованияderiving, Я обнаружил, что красиво отобразить небольшую ветвь с двумя листьями очень ...

Задан Sep 23, 2012, 7:34 PMотnicole
  • 4голосов
  • 2ответа
  • 0просмотров

Найти все узлы в двоичном дереве на определенном уровне (Interview Query)

Я имею в виду на определенном уровне, а не до этого конкретного уровня. Может кто-нибудь проверить мой модифицированный алгоритм BFS? (большая часть из которых взята из Википедии) Queue levelorder(root, levelRequested){ int currentLevel = 0; q = ...

Задан Nov 12, 2012, 6:04 PMотJohn Roberts
  • 20голосов
  • 3ответа
  • 0просмотров

Возможное количество бинарных деревьев поиска, которые могут быть созданы с помощью N ключей, определяется N-м каталонским номером. Зачем?

Это беспокоило меня некоторое время. Я знаю, что при заданных N ключах в виде дерева двоичного поиска возможное количество деревьев, которые можно создать, соответствует N-му числу изКаталонская ...

Задан Aug 29, 2009, 11:07 PMотSergio Morales
  • 17голос
  • 1ответ
  • 0просмотров

Что такое левое, правое и родное представление дерева? Зачем тебе это использовать?

Многие структуры данных хранят многоходовые деревья в виде двоичных деревьев, используя представление, называемое "левый ребенок, правый брат " [http://en.wikipedia.org/wiki/Left-child_right-sibling_binary_tree] представление. Что это значит? ...

Задан Dec 23, 2012, 10:30 PMотtemplatetypedef
  • 7голосов
  • 5ответов
  • 0просмотров

Java-реализация IntervalTree DeleteNode

Мне нуженIntervalTree [http://en.wikipedia.org/wiki/Interval_tree]или реализация RangeTree в Java, и у меня возникли проблемы с поиском такой с работающей поддержкой удаления. Там'встроенный ...

Задан Sep 13, 2009, 2:34 PMотSam Barnum
  • 7голосов
  • 4ответа
  • 0просмотров

проверка поддеревьев с использованием строк предзаказа и порядка

Книга, которую яm чтение утверждает, что один из способов проверить, является ли двоичное деревоB является поддеревом двоичного дереваA это построитьinorder а такжеpreorder строки (строки, представляющие порядок и порядок обхода каждого дерева) ...

Задан Jan 11, 2013, 9:53 PMотfo_x86
  • 3голосов
  • 3ответа
  • 0просмотров

Алгоритм Java для нахождения наибольшего набора независимых узлов в двоичном дереве

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

Задан Oct 14, 2009, 2:41 PMотAlgific
  • 76голосов
  • 7ответов
  • 0просмотров

Является ли журнал Big O (logn) базой e?

Для бинарного типа дерева поиска структур данных я вижу, что обозначение Big O обычно обозначается как O (logn). Строчная буква l в журнале это подразумевает логарифмическую базу e (n), как описано натуральным логарифмом? Простите за простой ...

Задан Oct 14, 2009, 10:28 PMотBuckFilledPlatypus
  • 14голосов
  • 3ответа
  • 0просмотров

Количество бинарных деревьев поиска по n отдельным элементам

Сколько бинарных деревьев поиска может быть построено из n различных элементов? И как мы можем найти математически доказанную формулу для этого? Пример:Если у нас есть 3 различных элемента, скажем, 1, 2, 3, есть 5 бинарных деревьев поиска.

Задан Apr 14, 2013, 7:45 PMотsiddstuff
  • 8голосов
  • 5ответов
  • 0просмотров

Вставка элемента в двоичное дерево

Пробовал много исследовать по сети, но мог получить любую помощь, Везде это как добавление узла в дерево бинарного поиска. Вопрос: Запрос алгоритма и фрагмента кода для добавления узла вБинарное дерево, (или укажите мне правильный ...

Задан Apr 30, 2013, 3:30 AMотRaa
  • 9голосов
  • 4ответа
  • 0просмотров

BST с дубликатами

Я знаю это,BST не допускает дублирование Например, если у меня есть словоRABSAB». Двоичное дерево поиска для приведенной выше строки: R /\ A S \ BЧто, если мы хотим включить дубликаты в дерево. Как дерево изменится? Мне задали этот вопрос в ...

Задан May 24, 2013, 2:53 AMотuser
  • 10голос
  • 1ответ
  • 0просмотров

Scala: рекурсия хвостовой вставки дерева со сложной структурой

Я создаю дерево пользовательских объектов в Scala, и мой метод вставки вызывает переполнение стека, потому чтоне хвостовой рекурсив Тем не менее, я могуЯ не могу понять, как сделать его рекурсивным. Связанные примеры I ...

Задан Jul 07, 2013, 8:41 AMотThe.Anti.9
  • 20голосов
  • 4ответа
  • 0просмотров

Объекты, которые представляют деревья

Есть ли какие-либо объекты в C # (или в .net), которые представляют двоичное дерево (или для любопытства) и n-арное дерево? Я говорю не об элементах управления деревом презентаций, а об объектах модели. Если нет, есть ли хорошие внешние реализации?

Задан Nov 27, 2009, 1:35 AMотRussell
  • 29голосов
  • 13ответов
  • 0просмотров

Печать BFS (двоичного дерева) в порядке уровней с определенным форматированием

Начнем с того, что этот вопрос не является дубликатомэтот [https://stackoverflow.com/questions/1104644/how-would-you-print-out-the-data-in-a-binary-tree-level-by-level-starting-at-th] , но опирается на это. Взяв дерево в этом вопросе в качестве ...

Задан Dec 12, 2009, 9:04 PMотviksit
  • 7голосов
  • 3ответа
  • 0просмотров

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

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

Задан Oct 16, 2013, 7:29 AMотEge
  • 4голосов
  • 2ответа
  • 0просмотров

Преобразование двоичного дерева с использованием поворотов

Пока я изучал среднесрочные вопросы о двоичных деревьях, я нашел утверждение, что любое произвольное двоичное дерево с n-узлами может быть преобразовано в любое другое двоичное дерево с n-узлами с максимум 2 * n-2 вращениями. Есть ...

Задан Oct 27, 2013, 11:16 PMотuser1722022
  • 12голосов
  • 7ответов
  • 0просмотров

Нахождение максимальной глубины бинарного дерева без рекурсии

Рекурсивный механизм определения максимальной глубины бинарного дерева очень прост, но как мы можем сделать это эффективно без рекурсии, так как у меня большое дерево, где я бы предпочел избежать этой рекурсии. //Recursive mechanism which I want ...

Задан Nov 10, 2013, 3:30 AMотHemant
  • 9голосов
  • 2ответа
  • 0просмотров

Является ли время выполнения BFS и DFS в двоичном дереве O (N)?

Я понимаю, что время выполнения BFS и DFS на общем графе равно O (n + m), где n - количество узлов, а m - количество ребер, и это потому, что для каждого узла должен рассматриваться его список смежности. Однако, какова среда выполнения BFS и DFS, ...

Задан Nov 11, 2013, 7:16 AMотgmemon
  • 4голосов
  • 3ответа
  • 0просмотров

Реализация двоичного дерева C ++

Вставка двоичного дерева: #include "stdafx.h" #include using namespace std; struct TreeNode { int value; TreeNode* left; TreeNode* right; }; struct TreeType { TreeNode* root; void insert(TreeNode* tree, int item); void insertItem(int value) { ...

Задан Dec 07, 2013, 4:56 PMотDELIGUCU
  • 8голосов
  • 9ответов
  • 0просмотров

Распечатать дерево по вертикали

Чтобы понять, что'С той же вертикальной линией, мы должны сначала определить горизонтальные расстояния. Если два узла имеют одинаковое горизонтальное расстояние (HD), то они находятся на одной вертикальной линии. Идея HD проста. HD для корня ...

Задан Dec 11, 2013, 12:59 PMотSpandan
  • 2голосов
  • 5ответов
  • 0просмотров

реализация бинарного дерева поиска и Java

Я пытаюсь реализовать алгоритм BST с помощью Cormen 'с псевдокодом еще есть проблема. Вот мой код для узла: public class Node { Node left; Node right; int value; Node(int value){ this.value = value; this.left = null; this.right = null; } }и для ...

Задан Jan 12, 2010, 8:33 PMотHellnar
  • 5голосов
  • 6ответов
  • 0просмотров

Как построить двоичное дерево только из строки прохождения порядка уровня

Рассмотрим двоичное дерево со следующими свойствами: Внутренний узел (неконечный узел) имеет значение 1, если у него есть два дочерних элемента.Конечный узел имеет значение 0, поскольку у него нет дочерних элементов.Обход порядка уровня по ...

Задан Dec 23, 2013, 12:03 PMотuser3129550
  • -2голосов
  • 5ответов
  • 0просмотров

Как реализовать полное двоичное дерево, используя рекурсию, не сравнивая значение узла?

public void recurInsert(BinaryTree.Node root, BinaryTree.Node newNode, int height) { if (newNode == null) { System.out.println("InsertNode is empty, please create new one"); return; } else{ if (height == 1) { if (root == null) return; else if ...

Задан Jan 02, 2014, 7:07 PMотIanWalker0421
  • 5голосов
  • 2ответа
  • 0просмотров

Для балансировки дерева AVL требуется более одного поворота?

Я думаю, что одного поворота всегда достаточно, чтобы сбалансировать дерево AVL при вставке или удалении ОДНОГО элемента из уже сбалансированного дерева AVL. Всегда ли достаточно одного оборота? Пример поможет, когда требуется более одного ...

Задан Jan 03, 2014, 7:50 PMотkBisla
  • 10голосов
  • 3ответа
  • 0просмотров

Haskell: версия хвостовой рекурсии глубины бинарного дерева

Во-первых, у меня есть две разные реализации, которые я считаю правильными, и я их профилировал и думал, что они примерно одинаковой производительности: depth::Tree a -> Int depth Empty = 0 depth (Branch b l r) = 1 + max (depth l) (depth r) ...

Задан Jan 18, 2014, 1:08 PMотdorafmon
  • 9голосов
  • 3ответа
  • 0просмотров

Почему обход по порядку и по порядку полезен для создания алгоритма, чтобы решить, является ли T2 поддеревом T1

Я смотрю на книгу интервью и вопрос: У вас есть два очень больших двоичных дерева:T1с миллионами узлов иT2с сотнями узлов. Создать алгоритм, чтобы решить, еслиT2 это поддеревоT1 Авторы упоминают это как возможное решение: Обратите внимание, ...

Задан Jan 20, 2014, 3:14 PMотBut I'm Not A Wrapper Class
  • 269голосов
  • 17ответов
  • 0просмотров

Каковы применения бинарных деревьев?

Мне интересно, каковы конкретные приложения бинарных деревьев. Не могли бы вы привести несколько реальных примеров?

Задан Jan 25, 2010, 4:40 AMотJichao
  • 21голосов
  • 3ответа
  • 0просмотров

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

Мне кажется, что обход по предварительному заказу и DFS такие же, как в обоих случаях, когда мы проходим до конечного узла в глубине. Может ли кто-нибудь поправить меня, если я ошибаюсь? Заранее спасибо!

Задан Feb 05, 2014, 8:08 AMотSrikanth Kandalam
  • 2голосов
  • 3ответа
  • 0просмотров

Универсальные библиотеки структур данных для C?

Какие библиотеки вы, ребята, используете для общих структур данных, таких как связанный список, двоичное дерево и т. Д.? Каковы наиболее распространенные, эффективные библиотеки? Вы можете назвать некоторые?

Задан Jan 29, 2010, 2:39 AMотaykut
  • 17голосов
  • 22ответа
  • 0просмотров

Java Печать бинарного дерева с использованием уровня порядка в определенном формате

Хорошо, я прочитал все другие связанные вопросы и не могу найти тот, который помогает с Java. Я получаю общую идею от расшифровки того, что я могу на других языках; но мне еще предстоит разобраться. Проблема: я хотел бы выровнять сортировку ...

Задан Feb 11, 2010, 12:54 AMотJavaFail
  • 8голосов
  • 3ответа
  • 0просмотров

Java эквивалент C ++ std :: map?

Я ищу класс Java с характеристиками обычной реализации C ++ std :: map (насколько я понимаю, самобалансирующееся двоичное дерево поиска): 1. O (log n) производительность для вставки / удаления / поиска 2. Каждый элемент состоит из уникального ...

Задан Feb 13, 2010, 5:42 PMотRudiger
  • 4голосов
  • 3ответа
  • 0просмотров

Как осуществляется возврат с помощью recusrion в Binary Tree?

Я пытаюсь вставить двоичный узел. Мой код запутан, и нет никакой надежды на его спасение, поэтому я планирую переписать его (в основном я не учитывал возврат к исходному тексту и не слишком тщательно продумывал алгоритм). Я пытаюсь вставить ...

Задан Apr 14, 2014, 11:39 AMотAire
  • 6голосов
  • 9ответов
  • 0просмотров

Нахождение самого большого поддерева в BST

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

Задан Feb 25, 2010, 5:31 PMотrakeshr
  • 4голос
  • 1ответ
  • 0просмотров

Как построить двоичное дерево, используя последовательность обхода порядка уровней

Как построить двоичное дерево, используя последовательность обхода порядка уровней, например, из последовательности {1,2,3, #, #, 4, #, #, 5}, мы можем построить двоичное дерево следующим образом: 1 / \ 2 3 / 4 \ 5где «#» означает терминатор ...

Задан May 20, 2014, 7:57 AMотbigpotato
  • 49голосов
  • 20ответов
  • 0просмотров

Поиск высоты в бинарном дереве поиска

Мне было интересно, если кто-нибудь может помочь мне переработать этот метод, чтобы найти высоту бинарного дерева поиска. Пока мой код выглядит так. Тем не менее, ответ, который я получаю, больше, чем фактическая высота на 1. Но когда я удаляю +1 ...

Задан Apr 08, 2010, 4:47 AMотmike
  • 6голосов
  • 2ответа
  • 0просмотров

Почему я не могу использовать оператор «break» внутри тройного условного оператора в C ++?

Node - это очень простой класс с простым конструктором и несколькими переменными: «name» (на самом деле просто char) и двумя дочерними указателями Node с именами «left» и «right». Я только начинал писать некоторый код, который нужно перенести на ...

Задан Feb 21, 2015, 6:03 AMотKing Spook
  • 4голосов
  • 3ответа
  • 0просмотров

список значений в листовых узлах двоичного дерева T

Список - это список значений в конечных узлах двоичного дерева, и я пытаюсь выяснить, как вывести именно это. Это дает мне все узлы, но мне нужны только листья. lea(nil,[]). lea(t(X,L,R),[X|L]) :- lea(L,L1), lea(R,L2), ...

Задан Mar 31, 2015, 10:13 AMотuser1732558
  • 8голосов
  • 2ответа
  • 0просмотров

Процедура удаления для бинарного дерева поиска

Рассмотрим процедуру удаления на BST, когда у удаляемого узла есть два дочерних элемента. Допустим, я всегда заменяю его на узел, содержащий минимальный ключ в своем правом поддереве. Вопрос в том, является ли эта процедура коммутативной? То ...

Задан Jun 07, 2010, 2:46 PMотMetz
Пред12След