[210725] Queue Interface
Queue Interface
DFS & BFS Algorithm
学習BFS LinkedList
の使用における単純基準値peek
とpoll
の違いを理解する
まず、リポジトリグループキューは、FIFO形式でデータを格納および取り出すバッファである.
見積方法で材料を保存する
ポーリング・メソッドを使用して家庭からデータを取り出す
peekメソッドを使用して、
空であるかどうかを決定する空のメソッド//큐 사용 예
import java.util.Queue;
import java.util.LinkedList;
public class Program {
public static void main(String[] args){
Queue<String> q = new LinkedList<String>();
q.offer("강감찬"); //"강감찬"
q.offer("홍길동"); //"강감찬","홍길동"
System.out.println(q.peek());//"강감찬" 참조
//여전히 "강감찬","홍길동"
System.out.println(q.poll());//"강감찬" 꺼냄, 현재 "홍길동"
q.offer("이순신"); //"홍길동", "이순신"
q.offer("김구"); //"홍길동", "이순신", "김구"
while(q.isEmpty()==false){
System.out.println(q.poll());
//"홍길동", "이순신", "김구" 순으로 꺼냄
}
}
BFSの使用例コード // BFS 함수 정의
public static void bfs(int start) {
Queue<Integer> q = new LinkedList<>();
q.offer(start);
// 현재 노드를 방문 처리
visited[start] = true;
// 큐가 빌 때까지 반복
while(!q.isEmpty()) {
// 큐에서 하나의 원소를 뽑아 출력
int x = q.poll();
System.out.print(x + " ");
// 해당 원소와 연결된, 아직 방문하지 않은 원소들을 큐에 삽입
for(int i = 0; i < graph.get(x).size(); i++) {
int y = graph.get(x).get(i);
if(!visited[y]) {
q.offer(y);
visited[y] = true;
}
}
}
}
Reference
この問題について([210725] Queue Interface), 我々は、より多くの情報をここで見つけました
https://velog.io/@iseeu95/210725-Queue-Interface
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
//큐 사용 예
import java.util.Queue;
import java.util.LinkedList;
public class Program {
public static void main(String[] args){
Queue<String> q = new LinkedList<String>();
q.offer("강감찬"); //"강감찬"
q.offer("홍길동"); //"강감찬","홍길동"
System.out.println(q.peek());//"강감찬" 참조
//여전히 "강감찬","홍길동"
System.out.println(q.poll());//"강감찬" 꺼냄, 현재 "홍길동"
q.offer("이순신"); //"홍길동", "이순신"
q.offer("김구"); //"홍길동", "이순신", "김구"
while(q.isEmpty()==false){
System.out.println(q.poll());
//"홍길동", "이순신", "김구" 순으로 꺼냄
}
}
// BFS 함수 정의
public static void bfs(int start) {
Queue<Integer> q = new LinkedList<>();
q.offer(start);
// 현재 노드를 방문 처리
visited[start] = true;
// 큐가 빌 때까지 반복
while(!q.isEmpty()) {
// 큐에서 하나의 원소를 뽑아 출력
int x = q.poll();
System.out.print(x + " ");
// 해당 원소와 연결된, 아직 방문하지 않은 원소들을 큐에 삽입
for(int i = 0; i < graph.get(x).size(); i++) {
int y = graph.get(x).get(i);
if(!visited[y]) {
q.offer(y);
visited[y] = true;
}
}
}
}
Reference
この問題について([210725] Queue Interface), 我々は、より多くの情報をここで見つけました https://velog.io/@iseeu95/210725-Queue-Interfaceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol