자료 구조 2

[자료 구조] 멀티셋 C++

개요C++에서의 멀티셋은 STL에서 제공하는 연관 컨테이너로, 중복된 키 값을 허용하는 특징이 있다.주요 특징은 하기와 같다.자동 정렬: 원소들이 자동으로 정렬됨중복 허용: 같은 값을 여러 번 저장 가능검색 효율: 이진 탐색 트리 기반으로 구현되어 있어 검색이 효율적 (O(log n))불변성: 한번 삽입된 원소의 값을 직접 수정할 수 없음멀티셋은 중복된 데이터를 유지하면서 정렬이 필요한 경우에 유용하다.예를 들어 빈도수 계산, 정렬된 데이터에서 중복을 허용하는 경우, 우선순위가 같은 항목들을 관리할 때이다. 구조체를 통한 operator함수 또한 적용이 가능하다.삼성 SW 역량평가 B형을 준비할 때 기출문제를 풀며 얻었던 지식에 관해 짧게 작성해 보겠다.  멀티셋을 이용한 데이터 관리#include#in..

자료 구조 2025.02.17

메모리 풀(Memory Pool)

개요메모리를 동적으로 할당하고 해제하는 과정에서 성능을 최적화하기 위한 기술일반적으로 동적 메모리 할당이 자주 일어나는 시스템에서 성능 문제를 해결하려고 사용된다.메모리 풀은 메모리 블록을 미리 할당해두고 필요한 곳에서 이를 재사용하는 방식으로 동작한다.메모리 풀을 사용하면 메모리 할당과 해제의 비용을 줄일 수 있다.  장점동적 메모리 할당과 해제를 반복적으로 호출하는 경우, 시스템에 의한 오버헤드가 발생한다.동적 메모리 할당이 반복되면 메모리 단편화가 발생할 수 있다.하지만 메모리 풀을 사용하면 이러한 오버헤드와 단편화를 감소 시킬 수 있다. 또한 메모리 풀은 고정된 크기의 블록을 사용하기 때문에 메모리 사용량을 예측할 수 있다.  동작 원리메모리 풀은 미리 일정량의 메모리 블록을 할당한다, 따라서 크..

자료 구조 2024.11.21
728x90