언어

#1. 개념 1. 정의 C++의 표준 라이브러리에서 제공하는 transform 함수는 주어진 컨테이너 목록을 순회하며 각 요소에 대해 지정된 연산을 적용한 결과를 다른 컨테이너에 저장할 수 있도록 해줍니다. 2. 헤더 #includ 3. syntax template OutputIt transform(InputIt first1, InputIt last1, OutputIt d_first, UnaryOperation unary_op); first1, last1은 지정된 연산을 적용할 첫 번째 범위의 시작과 끝을 가리키는 반복자입니다. [first1, last1)입니다. first2는 두 번째 범위의 시작을 가리키..
#1. 개념 1. 정의 nth_element 알고리즘은 C++ 표준 라이브러리에서 제공하는 알고리즘으로, 주어진 범위 내에서 n번째 요소를 찾아 n번째에 위치시키고, 이 요소보다 작은 모든 요소를 해당 위치 왼쪽(앞으로), 반대로 큰 모든 요소를 해당 위치의 오른쪽(뒤쪽으로)으로 이동시키는 부분 정렬을 수행합니다. 이 알고리즘은 전체 컬렉션을 정렬하는 것보다 효율적이며, 특정 위치의 요소만 필요할 때 유용합니다. 2. 헤더 #include 3. sytax // 기본 사용법 void nth_element(RandomIt first, RandomIt nth, RandomIt last); // 사용자 정의 비교 함수를 사용하는 버전 void nth_element(RandomIt first, RandomIt n..
#1. 개념 트라이(Trie)는 검색 트리의 일종으로, 주로 문자열 검색에 사용되는 자료구조입니다. 트라이 검색 트리의 각 노드는 문자열의 특정 문자를 나타내며, 자식 노드에 대한 링크(배열 혹은 맵)를 가지고 있는 트리 자료구조 중 하나입니다. #2. 동작 방식 1. 검색 트라이 검색 트리에서 특정 문자열을 검색할 경우, 해당 문자열의 각 노드를 트라이 검색 트리의 루트 노드를 시작으로 순차적으로 탐색합니다. 만약, 해당 문자열의 각 문자를 나타내는 노드를 모두 성공적으로 찾고, 그 끝에 문자열의 끝을 나타내는 마커가 존재하면, 해당 문자열은 트라이 검색 트리에 존재합니다. 2. 삽입/삭제 트라이 검색 트리에 새로운 문자열을 삽입할 때, 트리의 루트 노드부 시작하여 각 문자에 해당하는 노드를 순차적으로..
#1. 개념 1. unordered_map [정의] : unordered_map은 C++ STL에서 제공하는 연관 컨테이너입니다. [특징] : unordered_map은 key와 value를 쌍으로 해시 자료구조에 저장합니다. [map과 차이점] : unordered_map은 내부적으로 정렬 상태를 유지하지 않습니다. #2. 선언 및 초기화 #include using namespace std; int main() { // #1. 선언 unordered_map um; // #2. 초기화 리스트 unordered_map um = { {1, 10}, {2, 20}, {3, 30} }; } Details 1. [정렬 기준] : um 컨테이너는 map 컨테이너와 달리 내부적으로 정렬 작업을 수행하지 않습니다! #..
#1. 개념 1. multiset [정의] : multiset 컨테이너는 C++ STL에서 제공하는 연관 컨테이너입니다. [특징] : multiset 컨테이너는 key 값을 레드-블랙 트리(균형 이진트리) 자료구조에 저장하며, 중복을 허용합니다. #2. 선언 #include using namespace std; int main() { // #1. 기본 선언 multiset ms; // #2. 정렬 기준을 내림차순으로 변경하여 선언 multiset
[자료구조]#7_우선순위 큐 우선순위 큐 자료구조에 대해 알아보겠습니다. Overview 개념 구현 참고 #0. 개념 1. 우선순위 큐 정의 : 우선순위 큐(Priority Queue)는 원소들이 우선순위에 따라 정렬된 연결 자료구조로, 원소의 삽입 순서와 무관하게 가장 높은 우선순위를 가진 원소가 먼저 나오는 특징을 갖고 있습니다. 우선순위 큐는 원소 간 우선순위를 유지하기 위해 삽입/삭제 수행 시 정렬 작업을 자동적으로 수행합니다. 따라서, 우선순위 큐 자료구조는 내부적으로 항상 정렬된 상태를 유지합니다. 성능 : 우선 순위 큐의 삽입/삭제 작업의 평균/최악 시간 복잡도는 O(log n)입니다. 일반적으로, 우선순위 큐는 "힙(heap)" 자료구조를 통해 구현하며, 삽입/삭제 작업은 최대 힙 혹은 최..
[Basic C++] #70_decltype C++ 11에서 제공하는 decltype 키워드에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 정의 C++11부터 지원되는 decltype 키워드는 개체의 선언된 유형을 검사하거나, 표현식의 유형 및 값 카테고리를 검사하는 기능을 합니다. decltype 키워드는 표현식의 선언된 유형을 살펴봄으로써 컴파일 시간에 해당 유형의 정보를 얻을 수 있도록 합니다. #1. 예제 1. 예제-1 #include #include using namespace std; int main() { string str = "Hello, World!"; decltype(str) str_copy = "This is a copy."; cout
[Basic C++] #69_priority_queue C++의 STL에서 제공하는 priority_queue컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. 우선순위 큐? [자료구조]#7_우선순위 큐 [자료구조]#7_우선순위 큐 우선순위 큐 자료구조에 대해 알아보겠습니다. Overview 개념 구현 참고 #0. 개념 1. 우선순위 큐 정의 : 우선순위 큐(Priority Queue)는 원소들이 우선순위에 따라 정렬된 연결 webddevys.tistory.com 우선순위 큐는 각 원소에 우선순위를 할당하여, 가장 높은 우선순위를 갖는 원소가 다른 원소보다 먼저 처리되는 자료구조입니다. 우선순위 큐는 가장 높은 우선순위를 갖는 원소가 맨 앞에 위치하며, 우선순위 ..
[Basic C++] #68_deque C++의 STL에서 제공하는 deque 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. 덱? [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 덱 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일 webddevys.tistory.com 덱(Double-Ended Queue)은 스택과 큐의 특성을 모두 가지고 있는 선형 자료구조입니다. 덱은 양쪽 끝에서 삽입과 제거 연산이 이루어지며, 이로써 덱은 스택의 LIFO(Last In First Out) 동작 방식과 큐의 FIFO(First ..
[Basic C++] #67_queue C++의 STL에서 제공하는 queue 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. 큐 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com 큐는 먼저 삽입된 데이터가 먼저 삭제되는 FIFO(First In First Out) 혹은 선입선출 방식으로 작동합니다. 데이터 목록의 한쪽 끝에서는 데이터의 삽입만 이루어지며, 다른 한쪽 끝엔서는 데이터의 삭제 작업만 이루어집니다. #1. 선언 1. 헤..
Hardii2
'언어' 카테고리의 글 목록