본문 바로가기

이론/자료구조4

자료구조 - 연결 리스트(Linked List) 연결 리스트(Linked List) 이란? 연결 리스트(Linked List)는 데이터를 노드(Node)라는 단위로 관리하는 자료구조입니다. 각 노드는 두 가지 정보를 담고 있습니다. 첫 번째로는 실제로 저장하고자 하는 데이터(예를 들어, 정수, 문자열 등)를 가지고 있고, 두 번째로는 다음 노드를 가리키는 포인터(Pointer)를 갖습니다. 이러한 연결 리스트의 구조는 각 노드가 메모리의 임의의 위치에 위치할 수 있다는 특징을 가집니다. 즉, 각 노드들은 메모리의 어떤 곳이든지 분산되어 있을 수 있습니다. 이와 달리 배열(Array)은 연속적인 메모리 공간에 데이터가 순차적으로 저장되며, 각 요소들은 인덱스를 통해 접근됩니다. 연결 리스트에서 각 노드는 데이터와 다음 노드를 가리키는 포인터를 포함하고 .. 2024. 4. 1.
자료구조 - 배열(Array) 배열(Array) 이란? 배열은 프로그래밍에서 데이터를 구조화하고 관리하는 데 중요한 도구입니다. 이는 동일한 유형의 데이터 요소들이 순서대로 저장되는 구조를 가지고 있습니다. 각 요소는 배열 내의 고유한 위치를 가리키는 인덱스를 통해 접근할 수 있습니다. C#에서 배열은 데이터 유형과 크기가 고정된 메모리 블록으로 구성되어 있으며, 각 요소는 해당 데이터 유형의 값을 포함하고 있습니다. 배열은 프로그래밍에서 매우 널리 사용되며, 데이터를 효율적으로 저장하고 접근할 수 있는 강력한 도구로서 기능합니다. 이는 데이터를 순차적으로 저장하여 연속적인 메모리 공간을 활용함으로써 빠른 접근 및 처리를 가능케 합니다. 배열은 데이터의 집합을 간편하게 관리할 수 있도록 도와주며, 여러 가지 알고리즘 및 자료구조의 기.. 2024. 3. 31.
자료구조 - 큐(Queue) 큐(Queue) 이란? 큐(Queue)는 데이터를 선형 구조로 저장하는 자료구조로, FIFO(First-In-First-Out, 선입선출) 원칙을 따릅니다. 이는 처음 추가된 데이터가 처음으로 제거되는 구조를 의미합니다. 즉, 가장 먼저 저장된 요소가 가장 먼저 나오는 특징을 가지고 있습니다. 새로운 데이터는 큐의 뒷부분에 추가되고, 데이터는 큐의 앞부분에서 제거됩니다. 이로써 데이터는 일렬로 정렬되어 관리됩니다. 주로 데이터 처리 과정에서 선입선출의 원칙이 필요한 경우에 큐가 활용됩니다. 큐 코드 예시 (C#) 아래 코드는 C#에서 queue 활용의 예시입니다. using System; using System.Collections.Generic; public class QueueExample { pub.. 2024. 3. 26.
자료구조 - 스택(Stack) 스택(Stack) 이란? 스택(Stack)은 데이터 구조 중 하나로, 후입선출(LIFO, Last In First Out)의 원리를 따릅니다. 이 말은 가장 최근에 추가된 항목이 가장 먼저 제거되는 구조를 의미합니다. 새로운 데이터는 스택의 맨 위에 추가되며, 마지막에 추가된 데이터가 먼저 제거됩니다. 주로 함수 호출, 재귀 알고리즘, 괄호 검사, 미로 탐색 등과 같은 다양한 응용 프로그램에서 사용됩니다. 스택은 데이터를 저장하고 접근하는데 유용하며, 특히 데이터의 순서가 중요한 경우에 많이 활용됩니다. 스택 코드 예시 (C#) 아래 코드는 C#에서 stack 활용의 예시입니다. using System; using System.Collections.Generic; public class StackExam.. 2024. 3. 24.