알고리즘&자료구조
-
Stack과 Queue에 대해 알아보자알고리즘&자료구조 2024. 2. 27. 12:24
이번에는 Stack과 Queue에 대해 알아볼 것이다. Stack과 Queue는 순차적 자료구조에 속한다. Stack은 택배화물을 쌓아 놓은 것으로 이해하면 쉽다. 먼저 들어온 것이 가장 나중에 나가는 방식인데, 이를 흔히 FILO(선입후출)방식이라고 한다. Queue는 종이컵을 뽑는 장치를 생각하면 쉽다. 먼저 들어온 것이 가장 먼저 나가는 방식인데, 이를 흔히 FIFO(선입선출)방식이라고 한다. Java에서 이 두 자료구조를 사용하려면, import java.util.*; 을 사용하면 된다. 엄밀히 말하자면, 위의 코드는 Stack과 Queue를 포함한 자바에서 지원하는 모든 자료구조를 불러온다. Stack에는 크게 3가지 메서드가 있는데, 값을 넣는 push, 값을 빼는 pop, 자료구조에 영향을 ..
-
BFS에 대해 알아보자알고리즘&자료구조 2024. 2. 23. 12:25
목차 1. BFS 란? 2. BFS는 언제 사용할까? 3. BFS는 어떻게 사용할까? 4. BFS는 왜 사용할까? 5. BFS의 장점, 단점 1. BFS란? BFS는 Breadth Frist Search의 약자로 너비 우선 탐색이라는 의미를 지닌다. 책에서는 가까운 노드부터 탐색하는 알고리즘이라고 쓰여져있는데, 이를 쉽게 풀어 예시를 들면 아래와 같다. 물론, 예시는 정의와 100%일치하는 것이 없으므로 맥락을 이해하는데에만 참고해야할 것이다. 철수가 갈림길이 무수히 많은 어딘가에 떨어져 집을 찾으려고 하고 있다. 갈림길은 모든 분기점에서 무조건 a, b, c 세개로 나누어진다. 가정으로 철수의 집이 c-a에 있다고 가정해보자. 이 전제 조건으로 집을 빠르게 찾을 수 있는 알고리즘인 BFS를 사용해보자...