728x90 반응형 비선별형자료구조6 셋(Set)(면접을 위한 CS 전공지식 노트) 셋(Set) 셋(Set) 셋(Set)은 비선별형 자료구조로, 컴퓨터 과학 및 프로그래밍에서 중복되지 않는 값을 저장하는 데 사용됩니다. 셋은 주로 집합 이론에서 영감을 받아 만들어진 자료구조로, 집합 개념과 유사하게 각 요소는 중복되지 않으며 순서가 없습니다. 이러한 특성 때문에 셋은 고유한 값들의 모음을 저장하거나 중복을 제거할 때 유용하게 활용됩니다. 셋의 주요 특징 중복 요소가 없음: 셋은 중복된 요소를 허용하지 않습니다. 만약 동일한 요소를 여러 번 추가하더라도 그 값은 하나만 유지됩니다. 순서가 없음: 셋은 요소들을 어떤 순서로 저장하는지에 대한 보장이 없습니다. 따라서 요소를 삽입한 순서대로 접근할 수 없으며, 정렬되지 않은 상태로 보관됩니다. 셋은 다양한 프로그래밍 언어에서 지원되며, 각 언.. 2023. 11. 3. 맵(Map)(면접을 위한 CS 전공지식 노트) 맵(Map) 맵(Map) "비선별형 자료구조"라는 용어는 일반적으로 자료를 저장하고 관리하기 위한 여러 가지 자료 구조 중 하나를 나타냅니다. 비선별형 자료구조는 데이터를 저장할 때 특정한 순서나 계층 구조를 고려하지 않는 자료구조를 의미합니다. 이는 데이터의 저장 및 검색을 위한 특정한 규칙이나 순서를 요구하지 않는 자료구조를 의미합니다. 비선별형 자료구조는 데이터의 특성에 따라 여러 형태로 나타날 수 있으며, 일반적으로 데이터를 단순하게 저장하고 접근하는 데 사용됩니다. 맵(Map)은 비선별형 자료구조 중 하나로, 키-값(key-value) 쌍을 저장하는 데 사용됩니다. 각 키는 고유하며, 각 키에 대응하는 값을 저장합니다. 이것은 데이터를 검색하기 위한 빠른 방법을 제공하며, 특정 키에 대한 값을 .. 2023. 11. 2. 우선순위 큐(면접을 위한 CS 전공지식 노트) 우선순위 큐 우선순위 큐 우선순위 큐(Priority Queue)는 비선별형 자료구조로, 요소들을 저장하고 검색하는 일반적인 큐(Queue)와는 다르게 각 요소가 우선순위를 가지고 있습니다. 이것은 일반적으로 요소를 우선순위에 따라 정렬된 순서로 처리하거나 접근하기 위해 사용됩니다. 작업 스케줄링: 우선순위 큐를 사용하여 다양한 작업 또는 태스크를 우선순위에 따라 처리하는 스케줄링 알고리즘을 구현할 수 있습니다. 높은 우선순위를 가진 작업이 낮은 우선순위를 가진 작업보다 먼저 실행됩니다. 그래프 알고리즘: 다익스트라 알고리즘, A* 알고리즘 및 프림 알고리즘과 같은 그래프 기반 알고리즘에서 최소 거리나 최소 비용 경로를 찾을 때 우선순위 큐가 사용됩니다. 이벤트 처리: 이벤트 처리 시스템에서 다음 이벤트.. 2023. 11. 1. 힙(Heap)(면접을 위한 CS 전공지식 노트) 힙(Heap) 힙(Heap) 힙(Heap)은 비선별형 자료구조 중 하나로, 주로 우선순위 큐(priority queue)를 구현하는 데 사용되는 자료구조입니다. 힙의 특징 부모-자식 관계: 힙은 일반적으로 이진 트리(binary tree) 구조를 가집니다. 각 노드는 최대 두 개의 자식 노드를 가지며, 부모 노드와 자식 노드 간에는 특정한 순서(최소 힙 또는 최대 힙)가 유지됩니다. 최소 힙과 최대 힙: 힙은 두 가지 주요 유형이 있습니다. 최소 힙(Min Heap): 각 부모 노드는 그 자식 노드보다 작거나 같은 값을 가집니다. 따라서 루트 노드는 전체 트리에서 가장 작은 값을 가집니다. 최대 힙(Max Heap): 각 부모 노드는 그 자식 노드보다 크거나 같은 값을 가집니다. 따라서 루트 노드는 전체.. 2023. 10. 31. 트리(면접을 위한 CS 전공지식 노트) 트리 트리 트리(Tree)는 비선별형 자료구조 중 하나로, 데이터를 계층적으로 표현하는데 사용되는 중요한 구조입니다. 트리는 그래프(Graph) 이론의 일부로, 여러 노드(Node)로 구성된 구조로, 각 노드는 연결된 가지(Edge)로 다른 노드와 연결됩니다. 트리 구조의 특징 루트(Root): 트리 구조에서 한 노드는 루트 노드로 정의됩니다. 이 루트 노드는 모든 다른 노드로 가는 경로를 가지고 있으며, 트리의 최상단에 위치합니다. 노드(Node): 트리의 각 노드는 데이터를 저장하거나 나타내는 요소입니다. 노드 간에는 부모-자식 관계가 있으며, 부모 노드에서 자식 노드로의 가지로 연결됩니다. 부모(Parent)와 자식(Child): 트리에서 각 노드는 부모 노드와 하나 이상의 자식 노드를 가질 수 있.. 2023. 10. 30. 그래프(면접을 위한 CS 전공지식 노트) 그래프 그래프 그래프(Graph)는 비선형 자료구조 중 하나로, 여러 객체 또는 엔티티 간의 관계를 표현하는데 사용되는 추상적인 자료구조입니다. 그래프는 네트워크, 연결성, 의존성, 상호작용 등을 나타내는데 유용하며, 실제 세계에서의 다양한 문제를 모델링하는 데 활발하게 사용됩니다. 그래프 이론은 수학적이고 알고리즘적인 분야에서 중요한 역할을 합니다. 그래프는 노드(node)와 간선(edge)으로 이루어져 있습니다. 노드(Node): 노드는 그래프 내에서 객체 또는 엔티티를 나타냅니다. 이러한 객체는 그래프 내에서 고유한 식별자를 가지며, 때로는 "정점(vertex)"으로도 불립니다. 노드는 그래프의 구성 요소 중 하나이며, 데이터나 속성을 저장할 수 있습니다. 간선(Edge): 간선은 노드들 간의 관계.. 2023. 10. 29. 이전 1 다음 728x90 반응형