2013-11-14 1 views
4

Я пытаюсь создать что-то похожее на это:Есть ли способ рисовать B-деревья на Graphviz?

https://upload.wikimedia.org/wikipedia/commons/6/65/B-tree.svg

С BTree в памяти ... есть ли способ, чтобы создать график, как, что на Graphviz, так что я могу генерировать *. dot файл?

Спасибо.

+0

Подтвердить и принять? Я что-то пропустил? –

ответ

5

Перейдите на страницу http://ysangkok.github.io/js-clrs-btree/btree.html и нажмите «init simple». В текстовом поле вы видите код Graphviz для дерева, показанного выше. Алгоритм прост, как вы можете видеть.

+0

Это именно то, что я пытался сделать. Спасибо. :) – paulotorrens

-1

Да

Вы можете использовать rankdir и такой, чтобы установить направление его укладывает вещи в.

Если у вас есть ориентированный граф (digraph), который образует дерево (нет циклов, если направление игнорировало) он подберет для вас это, вы можете изменить каталог отдельных узлов, используя A -> B [dir="backwards"].

Это создает связь от А к В, но отображается как Фро B к A

Если вы просто «вперед ссылки» (не уверен, что на имя графа), где нет ни одного цикла, если направление считается, но там может быть, если направление игнорируется (A-> B-> C и A-> D-> C - пример этого), он все равно поместит его в слои для вас.

Еще раз: да.

+0

Моя проблема заключается в том, чтобы отображать каждый узел, числа бок о бок и коннекторы в середине самого узла. – paulotorrens

+0

@PauloTorrens в Graphviz вы можете изменить все, все, что вы можете себе представить. Это может быть сделано. –

+0

Не могли бы вы привести пример, который отображает нечто подобное этому изображению? – paulotorrens