Я хотел бы создать дерево навыков для себя и сообщества. У меня есть данные в формате, как показано ниже:
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)
теперь я хочу преобразовать эту информацию в графическую древовидную структуру. Что-то вроде: древо навыков
Основная проблема, с которой я сталкиваюсь, заключается в том, что связи между навыками запутываются, и я получал бы беспорядок вместо ясной, полезной картины, когда я добавляю эти навыки только один за другим. Есть ли какой-либо алгоритм (сортировка?) Для предотвращения (или минимизации) перекрестных соединений? Или мне нужно вручную размещать их в графической программе?