Stack2 [Algorithm] BFS & DFS ※ 너비 우선 탐색(BFS) : 탐색을 할 때, 너비를 우선으로 하여 탐색을 수행하는 탐색 알고리즘 너비 우선 탐색은 특히 '맹목적인 탐색'을 하고자 할 때 사용할 수 있는 탐색 기법으로 최단 길이를 보장해야 할 때 많이 사용됩니다. 너비 우선 탐색은 큐로 구현이 가능합니다. 너비 우선 탐색(BFS) 1. 맨 처음 시작 노드를 큐에 삽입하고, 방문 처리 2. 큐에서 하나의 노드를 꺼낸다. 3. 해당 노드에 연결된 노드 중 방문하지 않은 노드를 방문하고, 차례대로 큐에 삽입한다. 4. 위와 같은 과정을 반복한다. 1. A를 큐에 넣는다. 2. A를 큐에서 꺼내고, 해당 노드에 연결된 노드 중 방문하지 않은 B와 C를 큐에 넣어준 후 방문 처리를 해준다. 3. B를 큐에서 꺼내 인접한 노드 중 방문한 적이 .. 2022. 3. 29. [Algorithm] Stack & Queue ※ Stack? : 모든 원소들의 삽입과 삭제가 리스트의 한쪽 끝에서만 수행되는 제한 조건을 가지는 선형 자료구조 ※ Queue? : 컴퓨터의 기본적인 자료 구조의 한 가지로, 먼저 집어넣은 데이터가 먼저 나오는 FIFO(First in First Out) 구조로 저장하는 형식 사실 스택과 큐는 알고리즘이라기보다 자료구조이다. 알고리즘은 스택이나 큐를 이용해서 문제를 해결하는 방법이라고 할 수 있다. 스택과 큐를 구현하는 것은 어렵지 않다. [Python Code - Stack 👩🏻💻] => 스택은 마지막으로 들어온 원소가 가장 처음으로 나가는 구조이기 때문에 pop() 함수를 사용해 마지막 값을 삭제한다. 따라서 7,4,9를 차례대로 넣어준 뒤 pop()을 하면 마지막에 들어온 9가 리스트에서 삭제되.. 2022. 3. 18. 이전 1 다음 728x90