2012-04-25 3 views
0

Предположим, у меня есть массив строк, которые представляют такие пути, как {"222/111", "333/222", "444/333", "888/999", "777/999 «}. Как я могу строить деревья/графики из перечисленного пути таким образом, что я получаю два графика:Построить граф с использованием заданных случайных путей

444.333.222.111 и 888777999

(псевдокод Ценится)

ответ

0
while (strings not empty) 
    path = strings.pop 
    foreach (s:strings) 
     if (s starts with path end) 
      strings.remove(s) 
      path.append(s) 
      restart loop 
     if (s ends with path start) 
      strings.remove(s) 
      path.prepend(s) 
      restart loop 
    paths.add(path) 
0

Я полагаю, вы должны проверить JGraphT проект, который также имеет множество алгоритмов на основе графов и примерных кодов, также он обобщает ваше представление объекта вершины/края!

Смежные вопросы