我带着一个新问题来到这里。
我正在制作一个自定义算法,需要为图形边缘预先计算数据。我像这样使用 AllEdgesIterator:
AllEdgesIterator it = graph.getAllEdges();
int nbEdges = it.getCount();
int count = 0;
int[] myData = new int[nbEdges];
while (it.next())
{
count++;
...
}
第一个奇怪的事情是 nbEdges 等于 15565 个边,但 count 只等于 14417。这怎么可能?
第二个奇怪的事情是当我运行我的自定义 A* 时:我只是使用 outEdgeExplorer 浏览节点,但我在 myData 数组的索引 15569 处得到一个 IndexOutOfBound。我认为边缘索引包含在 [0 ; N-1] 其中 N 是边数,真的是这样吗?
这里会发生什么?顺便说一句,我禁用了图形收缩层次结构。
谢谢你每次都这么快回答!