map 종류 잘사용하기

보물창고·2021년 8월 31일
0

stl 잘 사용하기!

목록 보기
6/9
post-custom-banner

map이란?

: 트리 , 즉 계층 구조로 이루어진 pair형태의 stl임.
key값과 value값을 가지고 있으며,
루트 노드를 기준으로 해서 삽입, 삭제, 탐색이 이루어지므로, logN의 비용을 가짐.

삽입하는 방법.

: 3가지가 있음.
insert, 인덱스 접근, make_pair

주의할 점 : 인덱스 접근의 경우, 삽입이든, 뭘 하든 디폴트값 0 으로 second값이 삽입됨.


map을 쓸까? unordered_map을 쓸까?

-> 핵심은 정렬 유무에 차이가 있음.
수많은 데이터 중에서 , 디버깅 중 원하는 데이터의 키값을 정렬된 상태에서 보고 싶다면 : map이지만,
그냥 굳이 속도 차원으로 보자면 unordered_map을 사용함.

  • 일단 밑의 예시를 보면 key값 2개일때 map은 가능하지만, hash는 불가능하다는 것을 통해
  1. map을 먼저 쓰고, 테스트 케이스에서 시간초과 날 경우에!
  2. hash를 사용하도록 하자!

map 우선순위 변경하기

  • map<string, int, greater>m;
    : 이렇게 하면 키값의 내림차순으로 정렬된다.
  • value값

map 삭제하기

  • erase 함수를 사용하자.
    m.erase( key값 )

기존의 값 변경 불가능 한 삽입

기존의 값 변경 가능한 삽입

key값은 2개로 사용할때

  • map은 가능하지만!

  • hash는 안된다는 점을 알고 있어야 한다.

key값은 1개이고, value가 2개일때

  • map은 가능하다.

  • hash도 가능하다.

profile
🔥🔥🔥
post-custom-banner

0개의 댓글