Wybranie gotowego algorytmu lub stworzenie algorytmu to translacji list na drzewo nie regularne

0

Witam wszystkich specjalistów,

mam problem ze znalezieniem konkretnego rozwiązania a zaprojektowaniem własnego zajmuję się dłużej niż spodziewałem, 20h i kilka godzin snu w między czasie a nie mogę sobie z tym poradzić, jeśli ktoś z Was się spotkał z podobnym tematem albo możecie podesłać jakieś referencje, jestem wdzięczny z góry.
ChS

Dane wejściowe :

X list ze zmiennymi:
ID
coordinate_x
coordinate_y
LABEL
connected_to referencja do ID

Więc można z czegoś takiego stworzyć listy list i mam to już zaimplementowane, problemem jest gdy dla przykładowych danych, próbuję wyświetlić je za pomocą sigma.js na witrynie internetowej strukture drzewiastą, nie mogę sobie poradzić z rozsunięciem tych list. Mam to wszystko w zwykłych tablicach, operuję w PHP.

|-----
| ID 1
| X 0
| Y 0

Connected to 0 ( root node )
ID 2
X 1
Y 0
Connected to 0 ( root node )
-----
ID 3
X 2
Y 0
Connected to 0 ( root node )
-----
ID 4
X 0
Y 1
Connected to 1 ( root child node )
-----
ID 5
X 0
Y 2
Connected to 4 ( child node )

Spotkaliście się kiedyś z takim problemem ? Nie mogę sobie poradzić z ustawianiem, liczeniem rozpiętości i przesuwaniem. Wszystkie zmienne już mi się mylą a ilość test case'ow po prostu nie ma sensu na testowanie z nie działającą wersją algorytmu.
Jak na załączonym screenshot
Nawet słowne przedstawienie racjonalnego rozwiązania Waszymi słowami, może mnie doprowadzić na dobrą drogę, to drobna część pracy dyplomowej. To będzie system do tworzenia map myśli, jak z dolnymi nogami sobie poradzę, przejdę na górnę gdzie Y bedzie musiał być wymnożony *-1 względem takiej samej struktury jak ta z dolnej, mniejszy problem, gdy już znajdę rozwiązanie na rozsuwanie wszystkich punktów X na każdej osi Y tak żeby nie nachodziły na siebie względem kolejnych subnode'ów root childs'ów.

![screenshot-localhost 2014-12-29 02-11-09.png](//static.4programmers.net/uploads/attachment/screenshot-localhost 2014-12-29 02-11-09.png)

Liczę na Was,
trolli proszę o zamknięcie przeglądarki.

1

Witam,
błędnie dobrany algorytm i godziny lecą w błoto,
oczywiście powinienem od razu dobrać mapowanie połączeń z ID itemów list i przełożenie tego na strukture drzewa za pomocą algo RecursiveTree.
Ci co będą szukali tego problemu na pewno znajdą do niego rozwiązanie.

Peace,
ChS

1 użytkowników online, w tym zalogowanych: 0, gości: 1