c(3)
-
[자료구조] Linked List (연결 리스트) (feat. C 언어)
정의 연결 리스트(Linked List)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장한다. 노드의 포인터는 다음이나 이전의 노드와의 연결을 담당한다. 연결 리스트의 종류로는 단방향 연결 리스트(Singly Linked List), 양방향 연결 리스트(Doubly Linked List), 원형 연결 리스트(Circular Linkde List) 등이 있다. 일반적으로 연결 리스트는 헤드라는 더미 노드를 가지고 있다. 헤드는 데이터 값을 가지지 않고 연결 리스트의 처음을 담당한다. 연결 리스트의 마지막 위치(테일)에 있는 노드의 포인터는 null을 가리킨다. 연결 리스트는 자료의 추가, 삽입 및 삭제 연산이 배열보다 빠르다는 장점이 있으며 탐색 연산은 배열보다 시간이 ..
2023.07.19 -
[자료구조] Queue (feat. C 언어)
정의 큐(Queue)는 자료 구조 중 선형 구조에 해당되며 먼저 삽입된 자료 순서대로 삭제되는 선입선출(FIFO : First In Fisrt Out) 방식으로 이루어져 있다. 자료를 삽입할 때는 enqueue라고 하며 반대로 삭제할 때는 dequeue라고 한다. 가장 먼저 삽입된 위치를 front, 가장 나중에 삽입된 위치를 rear라고 한다. 특징 선형 구조 선입선출(FIFO : First In Fisrt Out) 삽입 - enqueue, 삭제 - dequeue 가장 먼저 삽입 위치 - front, 가장 나중 삽입 위치 - rear 운영체제의 작업 스케줄링 연산 enqueue 연산 : 큐가 비어있는 경우 추가되는 데이터가 front 및 rear가 된다. 큐에 데이터가 추가될 때 현 rear가 가리키는..
2023.07.19 -
[자료구조] Stack (feat. C 언어)
정의 스택(stack)은 자료 구조 중 선형 구조에 해당되며 한쪽 끝에서 자료의 삽입, 삭제가 모두 일어나는 후입선출(LIFO : Last In Fisrt Out) 방식으로 이루어져 있다. 자료를 삽입할 때는 push라고 하며 반대로 삭제할 때는 pop이라고 한다. 특징 선형 구조 후입선출(LIFO : Last In Fisrt Out) 삽입 - push, 삭제 - pop 함수 호출의 순서 제어, 인터럽트의 처리, 수식 계산 및 수식 표기법 등 연산 push 연산 : 스택이 비어있는 경우 추가되는 데이터는 바로 top이 되며 포인터는 null값을 가진다. 스택에 데이터가 추가될 때 추가되는 노드가 가리키는 포인터는 현 스택 top의 주소이며 이후 top은 자기 자신이 된다. pop 연산 : 데이터를 삭제 ..
2023.07.19