[STUDY] 자료구조_해시(Hash)

Dev_ch·2023년 4월 5일
0
post-thumbnail
👩🏻‍💻 스터디에서 진행하는 Data Structure 개념 공부입니다.

해시(Hash or Hash Table)

해시 테이블은 연관배열 구조를 이용하여 키(key)에 결과 값(value)을 저장하는 자료구조이다.

  • 키(key) 1개와 값(value) 1개가 1:1로 연관되어 있는 자료구조
  • 키(key)를 이용하여 값(value)을 꺼낼 수 있다.
  • 기본 연산으로는 search, insert, delete가 있다.
  • 이진탐색트리나 배열에 비해서 속도가 매우 빠르다.

🤔 그러면 해시(Hash)의 정확한 의미가 무엇인가요?

해시란 단방향 암호화 기법으로 해시 함수를 이용하여 고정된 길이의 암호화된 문자열로 만들어 내는 것 이다.
즉, 매핑 전 원래 데이터의 값을 key, 매핑 후 데이터의 값을 hash value, 매핑하는 과정을 hashing 이라고 부르며 이러한 과정을 통해 데이터를 저장한다.

🥹 해시 함수가 무엇인가요?

key를 hash로 만들어주는데, 다양한 길이를 가지고 있는 key를 일정한 길이를 가지는 hash로 변경한다.
또한, 해시 함수는 입력값의 길이가 어떻든 고정된 길이의 값을 출력하기 때문에 입력값이 다르더라도 같은 결과값이 나오는 경우가 있다.

이를 해시 충돌(Hash Collision)이라고 한다.

Java에서 Hash를 사용하는 방법

HashMap<Integer,String> map = new HashMap<>();
		map.put(1, "ManCity");
        map.put(2, "LeicesterCity");
        map.put(3, "ManUtd");

HashMap을 생성하여 사용

Python에서 Hash를 사용하는 방법

Dog = {
    'name': '개발자',
    'pnum': 010-1234-5678,
    'email': '1234@naver.com',
}

특정 key-value쌍을 가진 dictionary 선언을 하여 사용할 수 있다.

profile
내가 몰입하는 과정을 담은 곳

0개의 댓글