Дано: узел набора данных ориентированного графа (node_id, x_position, y_position) Edge (start_node, end_node)
node_id и edge определены, только один узел установлен в качестве начального узла, позиция этого узла определена, пусть это будет (0,0), чужие x и y позиции будут созданы случайным образом.
мне нужно отсортировать каждый узел по строке и столбцам (переназначить координаты x и y), чтобы весь граф выглядел разумно, то есть ребра не будут пересекаться слишком сильно (поскольку ребра должныбыть прямой линией, пересечений нельзя избежать, но можно свести к минимуму)
Я сделал первый шаг, чтобы разделить график на множество строк по BFS, а края можно направить только вниз.Теперь мне нужна помощь в сортировке узлов в каждой строке.Или, если у вас есть идея отсортировать весь график, добро пожаловать.