이것저것

Set / Map 본문

Algorithm

Set / Map

nays111 2021. 1. 8. 19:43

Set

- LinkedList 와 달리 데이터의 중복을 허용하지 않는다.

- 인덱스 대신 iterator를 이용해 검색

- 순서가 보장되지 않는다.

- insert, erase

- 삽입/삭제 : O(logN)

- Set은 Map의 축소형 => Key 만 있는 Map (Map도 Key는 중복 불가하기 때문에)

set<int> s;
s.insert(1);
s.insert(2);
s.insert(1);
s.insert(2);
//s안에는 1,2,1,2 가 아닌 1,2만 있다

Map

- key-value 형식으로 데이터를 저장

- 순서가 보장되지 않는다.

- Key는 중복 불가, value는 중복 가능

- 삽입/삭제/탐색 : O(logN)

- map<string, char> m; //string : key, char : value (pair 형태와 비슷)

- m["a"] = 'A'

- m.find(str) == m.end : map에 존재하지 않는다


<배열> - 인덱스를 사용

1 : "a"

3 : "b"

5 : "c"

string arr[20];

arr[1] = "a"

arr[3] = "b"

arr[5] = "c"

 

<Map> : key 값들이 정수가 아니므로 인덱스로 활용할 수 없다 => map을 사용해 해결

key       value

"a"         "A"

"b"         "B"

"c"         "C"

 

 

 

'Algorithm' 카테고리의 다른 글

삽입 정렬  (0) 2021.01.15
선택 정렬  (0) 2021.01.15
Priority Queue (우선순위큐)  (0) 2021.01.08
소수 (에라토스테네스의 체)  (0) 2021.01.07
유클리드 호제법  (0) 2021.01.07
Comments