Flex и polygonal.de граф классов в поиске путей? - PullRequest
1 голос
/ 14 июля 2011

Мне интересно, если кто-то уже сделал это, чтобы отправить меня в правильном направлении ..

  • Проблема заключается в следующем: у меня есть двумерный массив, в котором я храню целые числа, если число равно 0 - элемент не должен быть включен в график, если он равен 1 - он должен быть включен. График результатов должен использоваться для нахождения паттерна (кратчайшего пути) к некоторому элементу.
  • как превратить этот двумерный массив в график? (с классами polygona.de, если это возможно),

В настоящее время я пытаюсь использовать классы Polygonal.de. Любые предложения и указания в правильном направлении приветствуются.

enter image description here

Это двумерная структура. Эритроцитам запрещено ходить, и должен быть найден оптимальный путь от «начала» до «конца». Но 1-е, 1-е - мне нужно теперь превратить эту двухмерную структуру в график: |

1 Ответ

1 голос
/ 15 июля 2011

Как я понимаю, ваш 2D-массив уже является графиком. Узел графа представлен парой (i, j) и может иметь соседние узлы, такие как (i + 1, j), (i, j + 1) и т. Д. Вы можете написать служебную функцию для вашего массива, которая скрывает эти низкоуровневые определения соседей и пропускает клетки, которые заняты.


API de.polygonal.ds для структуры данных График содержит этот пример для построения графа:

var graph = new de.polygonal.ds.Graph<String>();
var a = graph.addNode("a");
var b = graph.addNode("b");
var c = graph.addNode("c");
graph.addSingleArc(a, b, 1.0);
graph.addSingleArc(b, a, 1.0);
graph.addMutualArc(a, c, 1.0);

Настройте пример для построения 2D-массива, который содержит узел для каждого свободного (i, j) исходного 2D-массива. Затем просмотрите двумерный массив узлов и вызовите addMutualArc(), чтобы соединить соседние узлы.

...