java廣度優先遍歷

2021-09-05 11:09:58 字數 893 閱讀 1226

/*

圖的廣度優先遍歷

從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...