자료구조 3

[JAVA] 우선순위 큐(Priority Queue)

[JAVA자료구조] 큐(Queue)에 대한 설명글 [JAVA] 큐(Queue) 1. 큐(Queue) 스택(Stack)과 반대로 선입선출(First - In First Out : FIFO) 구조 즉, 먼저 들어온 것이 먼저 나갑니다. 가장 앞에 있는 사람, 즉 가장 먼저 온 사람이 가장 먼저 서비스를 받아야 하고, 방금 도 kyungmin1221.tistory.com 1. 우선순위 큐(Priority Queue) 모든 데이터가 우선순위를 가지고 있고, 들어온 순서와 상관없이 우선순위가 높은 데이터가 먼저 출력되는 구조입니다. 예를 들어, 운영체제에서 시스템 프로세스는 응용 프로세스보다 더 높은 우선순위를 가집니다. 우선순위 큐는 이러한 우선순위의 개념을 큐에 도입한 자료구조입니다. 1-1 우선순위 큐(Pr..

Java 2023.08.19

[JAVA] 큐(Queue)

1. 큐(Queue) 스택(Stack)과 반대로 선입선출(First - In First Out : FIFO) 구조 즉, 먼저 들어온 것이 먼저 나갑니다. 가장 앞에 있는 사람, 즉 가장 먼저 온 사람이 가장 먼저 서비스를 받아야 하고, 방금 도착한 사람은 줄의 맨 뒤에 서서 대기합니다. rear(후단) : 큐에서 삽입이 일어나는 곳 front(전단) : 큐에서 삭제가 일어나는 곳 큐는 스택과 마찬가지로 2가지 방법으로 구현이 가능합니다. 1. 배열 2. 연결리스트 - 배열 배열을 이용하여 큐를 만드는 경우 원형 큐 형태로 구현. 원형 큐 형태를 구현함으로써 배열의 첫 인덱스가 0 이 아닐 수 있습니다. 이를 통해 배열의 마지막 인덱스에 데이터가 있어도 앞서 들어온 데이터를 꺼내 앞쪽 인덱스의 배열은 비어..

Java 2023.08.17

[JAVA] 스택(Stack) / 카카오 크레인 인형 뽑기(KAKAO)

1. 스택(Stack) 이란 ? 스택은 "쌓다"라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조입니다. 스택은 후입선출(Last-In First Out:LIFO)의 형태로 일어나는 자료구조를 말합니다. 후입선출 구조란 예를 들어 스택에 A, B, C, D의 순서로 입력을 하여 스택에 넣었다면 D, C, B, A의 순서로만 꺼낼 수 있습니다. Stack ADT(추상 데이터 타입) Stack() : 비어 있는 새로운 스택을 만든다. isEmpty() : 스택이 비어있으면 true , 아니면 false를 반환한다. push(e) : 항목 e를 스택의 맨 위에 추가한다. pop() : 스택의 맨 위에 있는 항목을 꺼내어 반환한다. peek() : 스택의 맨 위에 있는 항복을 삭제하지 않고 반환한다. s..

Java 2023.08.13