반응형
❤️🔥TIL : Today I Learned❤️🔥
그날그날 내가 공부한 것을 정리하는 것
내일배움캠프 AI트랙 50day
오늘 배운 내용 - 스택과 큐
스택(Stack)
스택은 나중에 입력 된 데이터가 먼저 출력되는 LIFO(Last In, First Out) 자료 구조이다. 반대로 FILO(First In, Last Out)라고 부르기도 한다. 중간에서 빼는건 불가능하다.
스택에서는 Push, Pop이라는 용어가 있다.
-. Push : 데이터를 입력하기
-. Pop : 데이터를 꺼내기(마지막으로 입력 된 순서부터)
큐(Queue)
큐는 가장 먼저 입력 된 데이터가 가장 먼저 출력되는 구조이다. FIFO(First In, First Out)라고 부르기도 하며 반대로 LILO(Last In, Last Out)이라고 설명하기도 한다.
-. Enqueue : 큐에서 데이터를 입력하는 기능
-. Dequeue : 큐에서 데이터를 꺼내는 기능
추가로 파이썬에서는 queue라는 내장 모듈을 제공한다. 아래 예시로 든 그림을 통해 코드를 작성해보았다. put( )은 큐에 데이터를 넣을 때 사용하는 메서드, get( )은 큐에서 데이터를 꺼내는 메서드이다
queue 내장 모듈 내에는 기본적인 Queue( ) 클래스 외에도 LifoQueue( ), PriorityQueue( ) 클래스가 존재한다. 여기서 자세히 다루진 않겠지만 LifoQueue( )는 스택과 같은 LIFO 구조, PriorityQueue( ) 는 사용자가 우선순위를 지정한대로 데이터를 꺼낼 수 있는 구조라고 보면 될 것 같다.
반응형
'I learned' 카테고리의 다른 글
내일배움캠프 AI - TIL 51 (0) | 2022.11.14 |
---|---|
내일배움캠프 AI트랙 11 Week (0) | 2022.11.13 |
내일배움캠프 AI - TIL 48 (0) | 2022.11.10 |
내일배움캠프 AI - TIL 46 (0) | 2022.11.08 |
내일배움캠프 AI트랙 10 Week (0) | 2022.11.06 |