Как создать дерево навыков?

Я хотел бы создать дерево навыков для себя и сообщества. У меня есть данные в формате, как показано ниже:

skill_1 [description etc.] requires: none
skill_2 [...] requires: skill_1
skill_3 [...] requires: skill_1, skill_2
skill_4 [...] requires: skill_1 OR skill_2

(формат данных из продвижения модулей Civilization 5)

теперь я хочу преобразовать эту информацию в графическую древовидную структуру. Что-то вроде: древо навыков

Основная проблема, с которой я сталкиваюсь, заключается в том, что связи между навыками запутываются, и я получал бы беспорядок вместо ясной, полезной картины, когда я добавляю эти навыки только один за другим. Есть ли какой-либо алгоритм (сортировка?) Для предотвращения (или минимизации) перекрестных соединений? Или мне нужно вручную размещать их в графической программе?

5
задан zgorawski 27 October 2010 в 10:48
поделиться