연관컨테이너 4

맵과 해쉬의 차이는 무엇인가?

맵 (Map) 과 해쉬 (Hash) 의 차이는 무엇인가? 일단 먼저 맵과 해쉬는 연관 컨테이너(Associative Container)이며 순서를 유지하는 것이 아닌 빠른 검색하는 과정에 초점을 맞춘 컨테이너이다. 맵 (Map)과 해쉬 (Hash) https://doanhan.tistory.com/28?category=581362 [C++] 연관 컨테이너, 집합과 맵 [C++] 연관 컨테이너, 집합과 맵 연관 컨테이너 (Associative Container) 삽입/제거된 요소의 순서를 유지는 하는 순차컨테이너의 특성을 무시하고 요소를 검색하는 과정을 최대한 빠르게 수행하는데 doanhan.tistory.com 맵은 같은 Key 값을 가지는 Pair들을 저장하는 컨테이너로 같은 Key값을 가지는 Pair..

[C++] 해시 (Hash)

[C++] 해시 (Hash) 해시 (Hash) 해시는 해시함수의 결과물이며, 저장소에서 값과 매칭되어 저장되며 해시테이블의 구성 요소이다. ▹ 이진 트리가 아닌 해시 테이블로 구성되어있다. ▹ 올바른 키와 올바른 해시 테이블 크기가 만족된다면 요소를 검색하는 속도는 O(N)에서 O(1)로 단축할 수 있다. 해시 테이블 (Hash Table) 해시 테이블은 연관 컨테이너 구조를 이용하여 키(key)에 값(Value)을 저장하는 자료 구조이다. 키, 해시 함수(Hash Function), 해시, 값, 저장소(Bucket)로 이루어져 있으며 키는 해시함수를 통해 해시로 변경되며 해시는 값과 매칭되어 저장소에 저장이 된다. 해시 함수 (Hash Function) 키(key)를 해시(Hash)로 바꿔주는 역할을 ..

[C++] 연관 컨테이너, 집합과 맵

[C++] 연관 컨테이너, 집합과 맵 연관 컨테이너 (Associative Container) 삽입/제거된 요소의 순서를 유지는 하는 순차컨테이너의 특성을 무시하고 요소를 검색하는 과정을 최대한 빠르게 수행하는데 초점을 맞춘 컨테이너이다. 속간 복잡도는 O(logN) or O(1)를 가진며 set, map, hash등이 있다. 집합 (Set) #include //... set //key : 요소의 타입, compare : 삽입하는 요소를 비교하는 함수 // set s; 수학의 집합의 성질을 가지고 있는 컨테이너로 개체들이 집합에 포함되거나 포함되지 않는 두가지 형태를 가진다. ▹ 같은 개체의 인스턴스를 한개만 보관가능. 즉, 중복을 없앤다. ▹ 요소들이 추가된 순서가 아닌 특정한 순서(compare : ..

[C++] STL

[C++] STL STL (Standard Template Library) 여러가지 다른 구조를 보관하기 위한 컨테이너와 컨테이너 내의 요소를 접근하기 위한 반복자, 그리고 컨테이너에 특정한 작업을 위한 알고리즘 클래스로 구성되어 있다. 컨테이너 순차 컨테이너와 연관 컨테이너로 구성되어 있으며, 여러가지 구조 데이터를 보관하는 객체이다. - 순차 컨테이너 : 요소들을 보관된 순서를 유지할 수 있게 해주며, 어떤 위치든 삽입, 제거가 가능하지만 성능에 있어서는 다른 특성을 가진다. / 벡터, 데큐, 리스트 등 - 연관 컨테이너 : 정렬 연관 컨테이너와 해쉬 연관 컨테이너 두 분류로 존재한다. 특정 요소에 대한 빠른 검색을 제공하며 사용자가 지정한 순서가 아닌 자신의 규칙에 따른 순서로 보관한다. / 세트,..