본문 바로가기
OLD_알고리즘

Solving Skill ] 해시 맵(Hash Map)

by 달승 2021. 1. 22.


 

Hashing

 데이터를 저장할 위치(index)를 간단한 연산으로 구하는 방법입니다.

 쉽게 말해 해시는 Key-value쌍으로 데이터를 저장하는 자료구조입니다.

 

 배열의 Key value를 배열의 요솟수로 나눠 표에 정리한 값을 'Hash value'이라고 합니다.

             -> key 값으로 hash 값을 만드는 과정을 'Hash function'이라고 합니다.

 해시 테이블의 각 요소는 'bucket'이라 말합니다.

 

예시


 

🔸 특징

- 성능이 중요한 곳에 hash_map을 사용한다면 VC++에 있는 것을 사용하지 말고 자체적으로 잘 만들어진 hash 함수를 사용하거나 C++ 오픈 소스 라이브러리인 boost에 있는 unordered_map을 사용하는 것이 좋을 것 같습니다. Windows 플랫폼에서만 사용한다면 CAtlMap을 사용하는 것도 좋습니다.(출처)

 

 

👩‍💻 성능

 

📚 STL

 

C++ ] Hash - unordered_map

Hash란 Key-value쌍으로 데이터를 저장하는 자료구조입니다. Unordered maps are associative containers that store elements formed by the combination of a key value and a mapped value,..

dkanxmstmdgml.tistory.com

 

C++ ] Hash - map

Hash란 Key-value쌍으로 데이터를 저장하는 자료구조입니다. Map Maps are associative containers that store elements formed by a combination of a key value and a mapped value, following a specific o..

dkanxmstmdgml.tistory.com


 🌷 문제

   프로그래머스

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 


reference

 

윤성우의 열혈 자료구조

자료구조 학습의 올바른 방법과 목표를 알려주는 책으로, 자료구조를 어떠한 방법으로 어떠한 수준까지 공부해야 하는지를 선배의 입장에서 이야기한다. 부록으로 12개월간 인터넷 무료강의를

www.aladin.co.kr

 

Do it! 자료구조와 함께 배우는 알고리즘 입문 : 자바 편

IT 기업, 모든 시험에서 기초가 되는 자료구조와 알고리즘의 개념을 모두 담았다. 220개의 도해와 함께 저자의 친절한 설명으로 개념을 쉽게 이해할 수 있으며 이해한 개념은 바로바로 88개의 실

www.aladin.co.kr

 

Hello Coding 그림으로 개념을 이해하는 알고리즘

이 책에서 다루는 알고리즘은 다른 코드보다 속도를 빠르게 하거나 아주 흥미로운 문제를 풀기 위한 것입니다. 정렬 및 탐색과 같은 작업부터 시작해서 동적 프로그래밍 및 추천 시스템과 같은

www.aladin.co.kr

 

unordered_map - C++ Reference

1234 unordered_map ::iterator it; (*it).first; // the key value (of type Key) (*it).second; // the mapped value (of type T) (*it); // the "element value" (of type pair )

www.cplusplus.com

 

unordered_map 클래스

`unordered_map`다양 한 길이의 요소 시퀀스를 제어 하는 c + + 표준 라이브러리 컨테이너 클래스에 대 한 API 참조입니다.

docs.microsoft.com

 

About STL : C++ STL 프로그래밍(6)-해시 맵(Hash Map)

제공 : 한빛 네트워크저자 : 최흥배이전기사 :About STL : C++ STL 프로그래밍(1)About STL : C++ STL 프로그래밍(2-1)About STL : C++ STL 프로그래밍(2-2)About STL : C++ STL 프로그래밍(3)About STL : C++ STL 프로그래밍(4)Ab

www.hanbit.co.kr

 

'OLD_알고리즘' 카테고리의 다른 글

STL ] vector에서 iterator 사용 - 타 블로그 참고  (0) 2021.02.03
C++ ] Hash - unordered_map  (0) 2021.01.22
Solving Skill ] Greedy  (0) 2021.01.17
C++ ] 문자열(string, char)  (0) 2021.01.08
STL ] Stack  (0) 2021.01.03

댓글