DFS/BFS를 알아가기 전에.. 탐색은 많은 양의 데이터 중 원하는 데이터를 찾는 과정이며 DFS/BFS가 이 알고리즘에 속한다. DFS/BFS를 풀기 위해서 알아야 할 몇 가지 자료구조를 먼저 알아보려고 한다. 여기서 자료구조란 데이터를 표현, 관리, 처리하기 위한 구조이다. 자료구조 중에서 스택과 큐가 가장 기초적인 개념으로 자리잡고 있다. 스택(Stack) 나중에 들어온 데이터가 먼저 삭제되는 후입선출 구조의 자료구조이다. 예전 블로그에서 실행 컨텍스트에 대해 개념을 정리하면서 스택/큐 개념도 함께 정리했는데, 당시 그렸던 그림을 첨부한다. 그림처럼 후입 선출임을 알 수 있다. 이를 코드로 구현하려면 입력은 리스트의 가장 뒤쪽에 데이터를 삽입하는 append(), 출력은 리스트의 가장 뒤쪽에 있는..