스택 Slack 그리고 큐 Queue
스택
데이터를 한쪽끝에서만 넣었다 뻈다 하는 구조.
스택은 LIFO (Last In, Fast Out) FILO( First In Last Out) 데이터 관리 방식을 따름
대표적인 스택으 활용으로는 컴퓨터 내부의 프로세스 구조의 함수 동작 방식
스택의 장단점
장점 : 구조가 단순해서 , 구현이 쉽다. 또한 데이터 저장시 읽기 쓰기 속도가빠르다
단점: 데이터의 최대 저장 갯수를 미리 정해야함, 또한 저장공간의 낭비가 일어날수있음.
스택은 단순하고 빠른 성능을 얻기위해 사용되므로 , (파이썬제외)배열 구조를 활용해서 구현하는것이 보편적이다.
큐 구조
큐는 줄서는 행위와 유사함
가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조
- 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일
- FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대
- 큐(Queue)의 연산
- append(item): item 하나를 큐의 뒷 부분에 추가한다.
- popleft(): 큐에 가장 앞에 있는 항목을 제거하고 반환한다.
아래 링크는 내가 다시 보기위해 깃허브에 올려둔 큐, 스택 코드들이다.
https://github.com/kimjongha99/codeplus-v2/tree/main/codingTest/1week-assignment/day2
'코딩테스트 > 자료구조' 카테고리의 다른 글
B2805 나무자르기- 이진검색 (0) | 2024.01.19 |
---|---|
그리디 알고리즘을 알아보자 . java.python -> 센서, 동전,강의실,파일합치기 (0) | 2024.01.18 |
해시테이블과 힙 (Hashtable 과 Heap을 알아보자):) (0) | 2024.01.09 |