我目前正在尝试找出最有效的方法,实现一个迭代器或每个循环。
将被遍历的对象是一个类"Graph",它由子类"Graph.Vertex"扩展。什么应该最省时,使用迭代器或 for each 循环遍历对象:
Graph.iterator();
while (Graph.iterator().hasNext()) {
// Do something
}
与。
for (Graph.Vertex v : Graph {
// Do something
}
这完全取决于您如何实现其中任何一个。
图的通常实现使用数组来存储顶点,并且只需要 O(V) 时间进行迭代,其中 V 是图中的顶点数。
如果您的实现与此不同,则必须提供更多信息才能获得有关效率的准确答案。