Как создать двоичный граф ребер в pydot? - PullRequest
0 голосов
/ 09 ноября 2018

У меня есть список значений как lst = [5,7,3,1]. Я хочу создать граф с каждым узлом должен иметь не более 2 ребер. Один левый узел должен находиться слева от корня, который имеет значение меньше корневого узла, а один правый узел должен быть справа от корня, который имеет более высокое значение, чем значение корневого узла. Я использовал следующий код как

import pydot
lst= [5,7,3,1]
lst_len=len(lst)
graph = pydot.Dot(graph_type='graph')

for i in lst:
  start=lst.index(i)
  if start < lst_len-1:
    end=start+1
  edge = pydot.Edge(lst[start], lst[end])
  graph.add_edge(edge)
graph.write_png('bst.png')

Я получил вывод как

enter image description here

Но я хочу вывод как

enter image description here

Как я могу изменить свой код? Направь меня .. спасибо ..

...