/*
圖的廣度優先遍歷
從1號頂點開始按照廣度優先遍歷順序輸出圖g中的每個頂點,頂點編號間用乙個空格間隔,每個無向圖的輸出占用一行,最後一行輸出後換行。
sample input
0 1 1 0 0
1 0 0 0 1
1 0 0 1 1
0 0 1 0 1
0 1 1 1 0
sample output
1 2 3 5 4
*/public class bfsgraph }}
}}
public static void main(string args) ,,,
,};
bfs(matrix);
}public static int getunvisted(int visited)
}return index;
}private static class arrayqueue
public arrayqueue()
public void put(t data)
array[rear] = data;
rear++;
}public t peek()
return (t) array[front];
}public t poll()
t t = (t) array[front];
array[front] = null;
front++;
return t;
}public boolean isempty()
public int size()
public void addstackcapacity() else }}
}
廣度優先遍歷
廣度優先遍歷 breadth first search 類似於對樹的層序遍歷 遍歷規則為 首先訪問初始點vi,並將其標記為已訪問過,接著訪問vi的所有未被訪問過的鄰接點,其訪問次序可以任意,假定依次為vi1,vi2,vit,並均標記為已訪問過,然後在按照vi1,vi2,vit的次序,訪問每乙個頂點的...
廣度優先遍歷
還是上面那道題 深度遍歷一般是用遞迴,深度不斷增加,廣度搜尋一般用佇列這樣的形式儲存東西 include include using namespace std struct note int main book 51 51 int next 4 2 int head,tail int i,j,k,...
廣度優先遍歷
def printnodeatlevel treenode,level 按層序遍歷輸出樹中某一層的值 if not treenode or level 0 return 0 if level 0 print treenode.val return 1 printnodeatlevel treenod...