총 4개
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 5장(큐) 연습문제 (해설 포함)2025.05.151. 큐 큐는 선입선출(First In First Out, FIFO) 구조입니다. 배열로 구현한 원형 큐에서는 포화 상태와 공백 상태를 구별하기 위해 배열의 인덱스 한 자리를 비우는 것이 중요합니다. 큐의 삽입은 후단(rear)에서, 삭제는 전단(front)에서 이루어집니다. 큐 구현 시 시간 복잡도는 O(1)입니다. 2. 스택을 이용한 큐 구현 스택은 후입선출(Last In First Out) 구조이지만, 스택 2개를 사용하면 큐의 선입선출(First In First Out) 성질을 만족할 수 있습니다. 하나의 스택(inStack...2025.05.15
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 4장 연습문제 (해설 포함)2025.05.141. 스택 스택은 후입선출 (Last In First Out, LIFO) 구조를 가지며, 데이터를 삽입하는 push 연산과 삭제하는 pop 연산을 수행할 수 있다. 스택의 top은 일반적으로 -1로 초기화되며, 요소를 삽입할 때마다 top이 1씩 증가한다. 스택이 공백 상태일 때 top은 -1이 되고, 포화 상태일 때 top은 MAX_STACK_SIZE-1이 된다. 스택에서 데이터를 삽입하고 삭제하는 연산의 시간복잡도는 O(1)이다. 후위 표기법에서는 피연산자를 만나면 스택에 삽입하고, 연산자를 만나면 스택에서 2개의 피연산자를 꺼...2025.05.14
-
자료구조 Deque(덱/데크) 프로그래밍2025.05.131. Deque(덱/데크) 자료구조 데크(deque)는 '더블 엔디드 큐'를 나타내며, 양 끝에서 삽입과 삭제가 모두 가능한 선형 자료구조입니다. 데크는 스택(Stack)과 큐(Queue)의 기능을 모두 제공하면서, 특정 상황에서 유용하게 활용될 수 있습니다. 데크의 주요 특징은 양 끝에서 삽입과 삭제가 빠르고, 빠른 랜덤 접근이 가능하며, 크기가 동적으로 조절될 수 있습니다. 데크는 큐(Queue)로 사용하면서 큐의 맨 앞에 원소를 효율적으로 삽입하거나 삭제할 수 있으며, 슬라이딩 윈도우(Sliding Window) 알고리즘 등에...2025.05.13
-
c언어로 쉽게 풀어쓴 자료구조 개정 3판 6장(연결리스트) 연습문제 (해설 포함)2025.05.161. 원형 연결 리스트 원형 연결 리스트는 마지막 노드의 포인터가 첫 번째 노드를 가리킨다. 2. 배열 n번째 요소를 찾는다는 것은 특정한 값을 탐색한다는 것이 아니다. 즉 특정 요소로 접근하겠다는 의미인데, 이를 가장 빠르게 할 수 있는 것은 당연히 배열이다. 배열은 인덱스를 통해 특정 요소로 가장 빠르게 접근할 수 있는 자료구조다. 한 번에 접근이 가능하므로 당연히 시간복잡도는 O(1)이다. 3. 단순 연결리스트 단순 연결리스트의 마지막 노드의 링크(link) 필드는 항상 NULL을 가리킨다. 따라서 last->link==NUL...2025.05.16
