Data Structure
[Data Structure] unordered_map μ¬μ©λ²
An effort will never betray π
2020. 3. 16. 22:04
λ°μν
- C++ STLμ€ νλμΈ unordered_mapμ λν μ€λͺ μ λλ€.
unorderd_map
mapλ³΄λ€ λ λΉ λ₯Έ νμμ νκΈ° μν μλ£κ΅¬μ‘°μ λλ€.
unordered_mapμ ν΄μ¬ν μ΄λΈλ‘ ꡬνν μλ£κ΅¬μ‘°λ‘ νμ μκ°λ³΅μ‘λλ O(1)μ λλ€.
mapμ Binary Search Treeλ‘ νμ μκ° λ³΅μ‘λλ O(log n)μ λλ€.
unordered_mapμ μ¬μ©νκΈ° μν΄μλ #include< unordered_map > μ μ μΈν΄μΌ ν©λλ€.
unordered_mapμ μ€λ³΅λ λ°μ΄ν°λ₯Ό νμ©νμ§ μκ³ mapμ λΉν΄ λ°μ΄ν°κ° λ§μ μ μλ±ν μ’μ μ±λ₯μ 보μ λλ€.
νμ§λ§, keyκ° μ μ¬ν λ°μ΄ν°κ° λ§μ μ ν΄μ μΆ©λλ‘ μΈν΄ μ±λ₯μ΄ λ¨μ΄μ§ μλ μμ΅λλ€.
ν¨μ
empty( )
- λ§΅μ΄ λΉμ΄μλμ§ νμΈνλ ν¨μ
- if unordered_map is empty, then return 1 else 0
size( )
- 맡μ ν¬κΈ°λ₯Ό νμΈνλ ν¨μ
- return size_type ( unsigned int )
operator [ ]
- 맡μμ keyλ₯Ό ν΅ν΄ valueλ₯Ό μ§μ νλ operator
- map_name[key] = value
find( key )
- 맡μμ keyμ ν΄λΉνλ μμλ₯Ό μ°Ύλ ν¨μ
- if key is contained, then iterator else map_name.end()
count( key )
- 맡μμ keyμ ν΄λΉνλ μμμ κ°―μλ₯Ό λ°ννλ ν¨μ
- if key is contained, return 1 else 0
insert( {key, value} )
- 맡μ pair<key,value> λ₯Ό μΆκ°νλ ν¨μ
- if key is contained, then not insert
erase( key )
- 맡μμ keyμ ν΄λΉνλ μμλ₯Ό μ κ±°νλ ν¨μ
- erase νλ λ°©λ² : νΉμ positionμ pair μμ , keyλ₯Ό ν΅ν΄ μμ , λ²μ μμ
clear( )
- 맡μ μ΄κΈ°ννλ ν¨μ
operator =
- λμ μ°μ°μ κ°λ₯
νμλ°©λ²
- indexλ‘ μ κ·Όν μ μκ³ iteratorλ‘ μ κ·Όνμ¬μΌ νλ€.
- μμ : begin( ), λ : end( )
- key : iter->first, value : iter->second
- λ°λ³΅λ¬Έ μ¬μ© μ auto νμ© or pair< key_type, value_type > μ¬μ©
μ€μ΅
κ²°κ³Ό
- μΆκ°λ‘ κΆκΈν μ μ΄λ μμ ν λΆλΆ μμΌλ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ.
λ°μν