강창민 튜터님 강의를 보며 다시 정리하는 방식으로 갑니다

 

스택과 큐

 

스택이란

 

LIFO(Last In First Out)의 성격을 가진 자료구조를 스택이라고 한다

마지막에 들어간 자료가 먼저 나오는 구조, 빨래통에서 빨래를 꺼내는 것과 같다

 

이게 꼬이면 유명한 스택 오버플로우가 되는데, 반복문에서 종료조건을 잘못 지정하거나

지정하지 않았을 때 생긴다.-그러면 무한루프가 발생하기도 하는데 메모리의 스택영역이

계속 쌓여 터진다고 한다.

 

한번 체험해보는 것도 좋겠지만 어떤식으로 터지는지 몰라 하지 않기로.

 

모바일 앱 들에서  뒤로가기를 할 때 자주 사용한다고 하는데 (스택을 사용함)

뒤로가기를 눌러직전에 호출한 화면을 쓰기 때문이라고

그 뿐만아니라 LIFO(Last In First Out)의 성격을 가진 자료구조를 스택이라고 한다.

 

역순의 성질을 사용해야 될 때 유용

 

대표적 기능은

 

픽- 스택의 최 상단 데이터를 볼때 사용

푸시- 스택에 원소를 삽입하는 행위를 칭함, 원소는 맨 위로 간다

팝-스택의 top에서 원소를 가져오는 행위, 방금 위에 푸쉬했던 데이터가 나올것

 

 

큐 (Queue)

 

큐는 스택과는 다르게 FIFO(First In First Out)의 성격을 가진 자료구조

처음 들어간 자료가 먼저나오는 자판기 같은 구조

 

예제로는 접속대기열,인쇄 대기열을 주셨다.

서버에서 여유가 생기면 먼저 온 순서대로 보내주니까

주의점은 새로고침 시 순번 맨 뒤로

 

 

 

 

 

+ Recent posts