Дървета / Графики, Как да представим няколко родители и деца?

Надявам се, че можете да ми помогнете с някои технически въпроси относно графики/дървета.

Опитвам се да покажа създаването на обекти в системите. Това наистина е дървовидна структура.


Има някои интересни изисквания.

а) Един възел може да има много деца. Кажете 20. Може би повече. т.е. една библиотека може да се използва от много обекти.

b) Дъщерен възел може да има много родители. Да кажем до 20. т.е. много библиотеки се използват от една процедура или обект

c) Конкретен възел може да се появи на повече от едно място. т.е. обща функция за печат или регистриране се извиква в много процедури

Забележка: Това е само -пример- от техническа гледна точка, очаквам да разберете. Това НЕ е проблемът, който трябва да моделирам. Няма нужда да го обсъждаме.


Докато си мислех за това, разбрах, че това не е просто двоично дърво или свързан списък.

1) В каква структура от данни мога да запазя всички данни?

2) Как мога да създам графика на това в java?

3) Какъв е безплатен графичен софтуер с отворен код, който може да начертае такова дърво? Като Neo4j

Може би във формати: - като дърво, с корен, ствол, клони и листа? - Като графиките, които виждате сега, изобразяващи социалните мрежи, с коренния възел в центъра?

4) Някакви добри уебсайтове или уроци по тази тема?

Благодаря много!


person Condor    schedule 27.12.2011    source източник


Отговори (3)


Вижте prefuse. Стар е, но работи. Все пак ще трябва да инвестирате малко време, за да научите как да го използвате. След като стигнете до там, остава само да създадете prefuse.data.Graph обект и да попълните вашите възли и техните съседи и след това да създадете визуализацията.

Ако сте отворени към друго решение, разгледайте d3.js - чертайте графика с помощта на javascript върху SVG елемент в вашия браузър.

person holygeek    schedule 27.12.2011

Ако това наистина е за обекти, тогава може би UML може да помогне. Той е проектиран да генерира графики на обектни връзки. Има много безплатни UML инструменти. Бих изтеглил един и ще видя дали можете да включите приложението си в него.

person ccleve    schedule 27.12.2011

JGraphT може да представи структурата на вашата графика и може да използва JGraph за визуализация.

За примерна визуализация вижте това.

person hypermush    schedule 27.12.2011