C 2

큐(queue)와 덱(deque)

✔️ 큐(queue)먼저 들어온 데이터가 먼저 나가는 자료구조선입 후출 : FIFO First-In Frist-Out  예시 : 식당에서 먼저 주문한 사람이 먼저 음식을 받는다. 큐에는 선형 큐와 원형 큐가 있다. 선형 큐는 배열처럼 일자 데이터 구조이고 원형 큐는 처음과 끝이 연결되어있는 데이터 구조이다.  ❗ 선형 큐의 문제점    dequeue()로 요소를 꺼내면 맨 앞자리가 비어있기 때문에 이를 채우기위해 뒤의 모든 요소들을 한 칸씩 앞으로 땡겨야    하기에 효율적이지 않다.   프로그램 상에서 어떻게 원형 큐를 구현할까?우리는 아주 좋은 %(나머지 연산)을 알고 있다. (마지막인덱스 + 1) 자리로 인덱싱 접근이 오면 % (큐의 크기) 연산을 해주어서 다시 맨 앞자리에 접근하게 한다. 이를 통..

CS/자료구조 2024.07.02

스택 (Stack)

같은 자료형의 데이터를 쌓아 놓는 자료구조후입 선출 : LIFO Last-In Frist-Out  함수 호출 역시 메모리 스택에 쌓이는 구조이다. func1() // 호출되어 쌓임main() // func1() 호출 스택 추상 데이터 타입create(size) // 최대 크기가 size인 공백 스택을 생성is_full(s) // if (스택의 원소수 == size) return TRUE; 아니라면 return False;is_empty(s) // if(스택의 원소수 == 0) return TRUE; 아니라면 return False;push(s, item) // 스택이 풀 상태이면 에러를 반환, 아니라면 스택 맨 위에 item 추가pop(s) // 스택이 비어있다면 에러 반환, 아니라면 맨 위 원소를 꺼낸..

CS/자료구조 2024.07.01