본문 바로가기

알고리즘(アルゴリズム)/자주 까먹는 알고리즘(よく忘れるアルゴリズム)

Stack과 Queue에 대한 고찰!!!

필자는 Stack과 Queue가 어떠한 상황에서 사용하면 될지에 대한 생각을 해 보았다.

Stack

-> 어떠한 문제를 풀기 위해서  가장 마지막의 데이터를 먼저 풀고 점진적으로 가장 처음의 데이

를 풀어야 할 떄! 위와 같은 방법을 사용하기 위해서는, Stack과 같은 Last In First Out과 같은 구조로  Stack에 쌓여 있는

데이터들이 단방향으로 보관되어야 할 필요가 있다.

ex) 1. 재귀 함수(리프에서 시작하여 위로 올라오는 재귀함수)를 for문으로 고칠 떄!

      2. DFS();

 

Queue

-> 어떠한 문제를 풀기 위해서  장 처음의 데이터를 먼저 풀고 점진적으로 가장 마지막의 데이를 풀어야 할 떄! 위와 같은

방법을 사용하기 위해서는, Queue와 같은 First In First Out과 같은 구조로  Queue에 쌓여 있는 데이터들이 단방향으로 보

관되어야 할 필요가 있다.

 

ex)

1. 재귀 함수( 상위의 문제들을 먼저 풀고, 점진적으로 하위의 문제를 풀어 나가는 재귀 함수)를 반복문으로 구현을 할 때!

2. BFS( )