알고리즘

Development/CS

맵(Map)

맵(Map)이란? 맵은 특정 순서에 따라 키와 매핑된 값의 조합으로 형성된 자료구조이다. 맵은 키-값 쌍의 집합으로, 특정 키를 통해 연결된 값을 검색하고 저장하는 데 사용된다. 맵의 특징 유일한 키(Key) : 하나의 키는 맵 내에서 유일해야 합니다. 중복된 키를 허용하지 않는다. 효율적인 검색 : 키를 사용하여 값을 검색하는 과정이 빠르고 효율적이어야 한다. 맵은 일반적으로 해시 테이블(hash table) 등을 이용하여 빠른 검색을 지원 동적 크기 조정 : 맵은 동적으로 크기를 조정하여 새로운 key-value 쌍을 추가하거나 기존 키-값 쌍을 삭제할 수 있어야 한다. 순서 보장 여부 : 일부 맵 구현은 삽입된 순서를 보장하여 데이터를 저장하지만, 다른 구현은 순서를 보장하지 않을 수 있다. 언어 ..

Development/CS

우선순위 큐(Priority Queue)

우선순위 큐란? 각 요소들이 각각의 우선 순위를 갖고있고, 요소들의 대기열에서 '우선 순위가 높은 요소'가 '우선 순위가 낮은 요소'보다 먼저 제공되는 자료구조다. 힙을 기반으로 구현되나 힙과는 다른 개념이다. 힙은 기본적으로 중점이 되는 것이 '최솟값 또는 최댓값 빠르게 찾기'인 반면, 우선순위 큐는 우선순위가 높은 순서대로 요소를 제공받는다. 기본적으로 큐와 유사한 형태를 가지고 있으며, 다만 큐는 데이터가 들어온 순서대로 처리되지만, 우선순위 큐는 우선순위가 높은 데이터가 먼저 처리됩니다. 우선순위 큐는 최댓값이나 최솟값을 빠르게 찾아내는데 유용하게 사용됩니다. 우선순위 큐의 연산 삽입(Insertion): 요소를 우선순위에 맞게 삽입 삭제(Deletion): 우선순위가 가장 높은(또는 낮은) 요소..

Development/CS

큐(Queue)

큐(Queue)란? 큐(Queue)는 데이터를 임시로 저장하고 처리하는 자료구조 중 하나입니다. 이는 데이터를 선입선출(First-In-First-Out, FIFO)의 순서로 다루는 구조이며, 스택과는 반대되는 개념을 가지고 있다. 삽입 및 삭제에 O(1) , 탐색에 O(n)이 걸린다. 큐는 일상 생활에서 줄 서기와 유사한 개념으로 이해할 수 있습니다. 가장 먼저 온 사람이 먼저 서비스를 받는 것과 같이, 큐에 추가된 데이터도 가장 먼저 처리되어 나옵니다. CPU작업을 기다리는 프로세스, 스레드 행렬, 네트워크 접속을 기다리는 행렬, 너비 우선 탐색, 캐시도 같은 개념이다.

dudu_
'알고리즘' 태그의 글 목록