자료구조

큐(Queue)란? 큐는 선입선출(First In, First Out; FIFO) 방식으로 작동하는 선형 자료구조입니다. 큐에서 데이터는 한쪽 끝에서 추가되고, 반대쪽 끝에서 제거됩니다. 큐의 주요 특징 선입선출 구조: 가장 먼저 들어온 요소가 가장 먼저 나갑니다. 두 개의 주요 연산: Enqueue: 큐의 뒤쪽에 요소를 추가합니다. Dequeue: 큐의 앞쪽에서 요소를 제거하고 반환합니다. 추가 연산: Peek/Front: 큐의 맨 앞에 있는 요소를 반환하지만 제거하지는 않습니다. IsEmpty: 큐가 비어 있는지 확인합니다. 큐의 사용 사례 대기열 관리: 은행, 티켓 창구, 프린터 작업 등 순차적 처리가 필요한 곳에서 사용됩니다. 데이터 버퍼링: 네트워크 트래픽 관리, 메시지 큐 시스템 등 데이터의 ..
스택(Stack)이란? 스택은 후입선출(Last In, First Out; LIFO) 방식으로 작동하는 선형 자료구조입니다. 스택에서는 새로운 요소가 추가되거나 제거될 때, 항상 같은 한쪽 끝(스택의 'top')에서 이루어집니다. 스택의 주요 연산 Push: 스택의 맨 위에 요소를 추가합니다. Pop: 스택의 맨 위에 있는 요소를 제거하고 반환합니다. Peek/Top: 스택의 맨 위에 있는 요소를 반환하지만 제거하지는 않습니다. IsEmpty: 스택이 비어있는지 확인합니다. 스택의 특징 후입선출 구조: 마지막에 들어간 요소가 가장 먼저 나옵니다. 한쪽 끝에서만 작업: 모든 작업은 스택의 'top'에서만 이루어집니다. 스택의 사용 예시 웹 브라우저의 뒤로 가기 기능, 실행 취소(undo) 기능. 함수 호출..
연결 리스트(Linked List)란? 연결 리스트는 데이터 요소(노드)들이 포인터를 통해 순차적으로 연결된 선형 자료구조입니다. 각 노드는 데이터와 하나 또는 여러 개의 포인터(다음 노드에 대한 참조)를 포함합니다. 연결 리스트의 종류 단일 연결 리스트(Singly Linked List): 각 노드가 다음 노드만을 가리킵니다. 이중 연결 리스트(Doubly Linked List): 각 노드가 이전 및 다음 노드를 가리킵니다. 원형 연결 리스트(Circular Linked List): 마지막 노드가 첫 번째 노드를 가리키는 형태입니다. 연결 리스트의 특징 동적 크기: 리스트의 크기를 실행 시간에 변경할 수 있습니다. 데이터 삽입 및 삭제 용이: 포인터만 변경하면 되므로, 배열에 비해 삽입 및 삭제가 용이..
배열(Array)이란? 배열은 동일한 데이터 타입을 가진 여러 요소를 연속적인 메모리 공간에 저장하는 기본적인 자료구조입니다. 각 요소는 인덱스(Index)를 통해 접근할 수 있으며, 이 인덱스는 보통 0부터 시작합니다. 배열의 특징 고정된 크기: 배열은 생성 시 지정된 크기를 변경할 수 없습니다. 동일한 데이터 타입: 배열의 모든 요소는 같은 타입을 가져야 합니다. 인덱스를 통한 빠른 접근: 특정 인덱스의 요소에 빠르게 접근할 수 있습니다. 배열의 사용 예시 데이터가 고정된 크기를 가지고, 빠른 인덱스 접근이 필요한 경우에 주로 사용됩니다. 예: 성적 리스트, RGB 색상 값, 좌표 값 등 배열의 장단점 장점 인덱스를 통한 요소 접근이 빠릅니다. 메모리 관리가 효율적입니다(연속적인 메모리 할당). 단점..
wsstar
'자료구조' 태그의 글 목록 (7 Page)