
QuickHashIntHash 클래스의 getSize() 메서드는 해시 테이블의 크기를 반환하는 데 사용되는 알고리즘은 다음과 같습니다.
1. 해시 테이블의 크기는 2의累乗을 기반으로 합니다. 예를 들어, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 4194304, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648, 4294967296, 8589934592, 17179869184, 34359738368, 68719476736, 137438953472, 274877906944, 549755813888, 1099511627776, 2199023255552, 4398046511104, 8796093022208, 17592186044416, 35184372088832, 70368744177664, 140737488355328, 281474976710656, 562949953421312, 1125899906842624, 2251799813685248, 4503599627370496, 9007199254740992, 18014398509481984, 36028797018963968, 72057594037927936, 144115188075855872, 288230376151711744, 576460752303423488, 1152921504606846976, 2305843009213693952, 4611686018427387904.
2. 해시 테이블의 크기가 변경되는 경우 getSize() 메서드는 해시 테이블의 새로운 크기를 계산하여 반환합니다.
해시 테이블의 크기가 변경되는 경우 getSize() 메서드는 다음과 같이 동작합니다.
- 해시 테이블의 크기가 2의累乗보다 작다면, 해시 테이블의 크기를 2의 다음累乗으로 업데이트합니다.
- 해시 테이블의 크기가 2의累乗이면, 해시 테이블의 크기를 그대로 반환합니다.
- 해시 테이블의 크기가 2의 이전累乗보다 크다면, 해시 테이블의 크기를 2의 이전累乗으로 업데이트합니다.
예를 들어, 해시 테이블의 크기가 10이면, getSize() 메서드는 16을 반환합니다. 해시 테이블의 크기가 17이면, getSize() 메서드는 32를 반환합니다.
2025-06-11 05:34