본문 바로가기

Algorithm39

Make Queue with 2 stack in Java import java.util.Stack; public class QueueByStack { public static void main(String[] args) { MyQueue queue = new MyQueue(); } static class MyQueue { Stack s1; Stack s2; public MyQueue() { s1 = new Stack(); s2 = new Stack(); } public void offer(int x) { s1.push(x); } public int poll() { if (s2.isEmpty()) { while (!s1.isEmpty()) { s2.push(s1.pop()); } } return s2.pop(); } public int peek() { if (s.. 2024. 4. 6.
Reverse Queue with Java import java.util.Queue; import java.util.Stack; public class ReverseQueue { public static void main(String[] args) { Queue q = new java.util.LinkedList(); q.offer(1); q.offer(2); q.offer(3); q.offer(4); q.offer(5); System.out.println(q); q = reverse(q); System.out.println(q); } public static Queue reverse(Queue q) { Stack stack = new Stack(); while(!q.isEmpty()) { stack.push(q.poll()); } while(!.. 2024. 4. 6.
Reverse Queue with Stack in Java import java.util.Queue; import java.util.Stack; public class ReverseQueue { public static void main(String[] args) { Queue q = new java.util.LinkedList(); q.offer(1); q.offer(2); q.offer(3); q.offer(4); q.offer(5); System.out.println(q); q = reverse(q); System.out.println(q); } public static Queue reverse(Queue q) { Stack stack = new Stack(); while(!q.isEmpty()) { stack.push(q.poll()); } while(!.. 2024. 4. 6.
BFS and DFS with Java BFS(Breadth-First Search, 너비 우선 탐색)와 DFS(Depth-First Search, 깊이 우선 탐색)는 그래프를 탐색하는 두 가지 기본적인 방법입니다. 너비 우선 탐색 (BFS) BFS는 그래프의 가장 가까운 노드부터 탐색하는 방식입니다. 즉, 시작 노드로부터 거리에 따라 순차적으로 탐색합니다. BFS는 큐(Queue)를 사용하여 구현합니다. 특징: 모든 노드를 방문할 때까지 각 노드를 거리 순으로 방문합니다. 사용 경우: 최단 경로를 찾거나, 그래프의 모든 노드를 방문하는 경우에 유용합니다. 깊이 우선 탐색 (DFS) DFS는 그래프의 노드를 깊이 우선으로 탐색하는 방식입니다. DFS는 스택(Stack) 또는 재귀 함수를 사용하여 구현합니다. 특징: 하나의 경로를 끝까지 탐색한.. 2024. 4. 6.
BFS and DFS with Java BFS(Breadth-First Search, 너비 우선 탐색)와 DFS(Depth-First Search, 깊이 우선 탐색)는 그래프를 탐색하는 두 가지 기본적인 방법입니다. 너비 우선 탐색 (BFS) BFS는 그래프의 가장 가까운 노드부터 탐색하는 방식입니다. 즉, 시작 노드로부터 거리에 따라 순차적으로 탐색합니다. BFS는 큐(Queue)를 사용하여 구현합니다. 특징: 모든 노드를 방문할 때까지 각 노드를 거리 순으로 방문합니다. 사용 경우: 최단 경로를 찾거나, 그래프의 모든 노드를 방문하는 경우에 유용합니다. 깊이 우선 탐색 (DFS) DFS는 그래프의 노드를 깊이 우선으로 탐색하는 방식입니다. DFS는 스택(Stack) 또는 재귀 함수를 사용하여 구현합니다. 특징: 하나의 경로를 끝까지 탐색한.. 2024. 3. 24.
DFS and BFS import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class GraphTest { static int n, m,v; //정점의 개수, 간선의 개수, 시작 정점을 나타내는 변수 static int[][] graph; //인접 행렬을 나타내는 graph 배열 static boolean[] visited; //정점의 방문 여부를 나타내는 visited 배열 public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); m = sc.nextInt(); v = sc.nextInt(); System.out.. 2024. 3. 24.