본문 바로가기

CS

(18)
[자료구조] 큐(Queue)란 (Swift) 큐의 개념 큐는 기존 스택과는 다르게 먼저 들어간 자료가 먼저 나오는 구조입니다(First in First Out). 한쪽이 뚫려 있는 구조로 한쪽으로는 데이터의 삽입(enQueue) 다른 한쪽은 데이터 추출(deQueue)이 진행됩니다. 큐는 front(머리) rear(꼬리) 가 존재하는데 데이터 삽입시 rear 다음에 위치(rear+1) 데이터 추출시에 먼저 들어온 데이터가 나가야 하기때문에 머리 위치에서 나갑니다. 큐의 구현(Array) struct Queue { private var queue: [T] = [] public var count: Int { return queue.count } public var isEmpty: Bool { return queue.isEmpty } public mut..
[자료구조] 스택(Stack)이란 (Swift) 스택(Stack)이란 한 쪽 끝에서만 자료를 넣고 뺄 수 있는 LAST IN FIRST OUT 형식의 자료구조 입니다. LAST IN FIRST OUT 이란 가장 최근에 들어온 데이터가 가장 먼저 나간다는 의미입니다. 이는 먼저 들어온 데이터가 먼저 나가는 '큐' 와 가장 큰 차이점을 가집니다. 구현 스택은 마지막으로 들어온것이 먼저 나가는 구조입니다. 가장 최근에 스택에 추가한 항목이 가장 먼저 제거가 됩니다. 본인이 사용하는 언어로 Array 를 통해 제일 마지막으로 들어온 데이터를 출력해주는 형태로 구현이 가능합니다 이때 생성, 삽입, 삭제 시간 복잡도를 계산하면서 구현하면은 더욱더 좋습니다. 시간복잡도 데이터 삽입시 시간복잡도 : O(1) 데이터 삭제시 시간복잡도 : O(1) 스택의 구현 stru..