Hashtable 2

[Java] HashSet

1. HashSet이란?Set 인터페이스를 구현한 컬렉션으로, 중복을 허용하지 않는다.내부적으로 HashMap을 사용하여 데이터를 저장한다.해시 충돌(Hash Collision)이 거의 없다면 매우 빠른 성능을 낸다.평균적으로 add, remove, contains 연산이 O(1).해시 충돌이 많이 발생하면 동일 버킷에 값들이 모이므로최악의 경우 O(n)까지 성능이 떨어질 수 있다.2. Hash Table 동작원리Key(키)가 입력된다.Hash 함수가 Key를 정수(Hash Code)로 변환한다.변환된 정수를 Hash Table의 크기(Table의 row 수)로 나눈 나머지를 구한다. → indexindex = hashCode % tableSize이 index를 이용해 해당 버킷(bucket)에 데이터를..

Java 2025.12.07

[자료구조] HashTable / 해시테이블

1. HashTable이란?1. Key : Value 의 형식으로 이루어진 자료구조다.2. Key의 중복을 허용하지 않는다.**3. 평균적으로 빠른 삽입/삭제/탐색을 제공한다.**2. HashTable의 동작원리 Key가 주어진다 Hash함수로 주어진 Key를 정수로 변환한다.변환된 정수를 HashTable의 Row갯수로 나눈 나머지를 구한다.Table에 고루 분포하기위해 나눈 나머지를 Index번호로 활용해 값을 저장한다.3. Collision (Index중복)Hash함수로 변환하고 나누는 과정 속에서 중복 값이 발생할 수 있다.즉 Index(자료의 위치)가 중복되는 케이스다.이를 방지하기 위해 각 값을 LinkList로 처리한다.4. 연산속도버킷의 값 중복이 없을 경우 값의 조회시 최소 상수시간만큼 ..

자료구조 2025.10.21