public class HashTable <K, V> implements Table<K, V>{
PairHolder table[];
int idx;
public HashTable(int size){
table=new PairHolder[size];
}
public void put(K key, V val
체이닝과 더블 프로빙을 비교하려고합니다. 테이블 크기 100에 40 개의 정수를 삽입해야합니다. 나노 시간을 측정 할 때 (자바로) 두 배 빠릅니다. 연쇄 삽입 메쏘드에서 LinkedListEntry, 을 생성 할 때마다 생성하고 추가 시간이 필요합니다. Chaining은 Double Probing보다 더 빠를 수 있습니까? (그게 위키 피 디아에서 읽은
배열로 구현 된 크기가 11 인 해시 테이블이 있습니다. 이중 해시 기술을 사용하려고합니다. 나는 이미 대부분의 수를 처리했다. 다음과 같이 내 해싱 함수 인이 날 I = 0, 1, 2, 3, ... 이미 슬롯 0, 1, 4, 8, 9를 h(k,i) = k mod 11 + i(k * 3 mod 4) 제공 h1 = key mod 11
h2 = 3*key m
안녕하십니까. 처음에는 이중 해싱에 대한 이해가 올바른지 먼저 묻기 시작했습니다. 해시 함수를 먼저 구현하고 해당 지점이 열려 있는지 확인하기 위해 이중 해싱이 작동합니다. 현재 지점이 열려 있지 않으면 두 번째 해시 함수를 사용하여 다른 지점을 결정한 다음 현재 시도로 곱한 다음 첫 번째 해싱 알고리즘에 의해 결정된 인덱스 지점에이를 추가합니다. 내가 가
이중 해싱 맵을 만들지 만 삽입 후 제거 함수가 작동하지 않습니다. 나는 색인을 증가시키기 위해 같은 형식을 따르지만, 그것은 단지 올바른 색인을 맞추지 않는다. class RHHM {
unsigned int hash2(int key) {
return key % (M-1) + 1;
}
//Private variab
해시 맵에서 작업 중이며 이중 해싱 열린 주소 스타일 맵의 제거 기능에 문제가 있습니다. , int hash(int key, std::size_t M) { return key % M; }
int hash2(int key, std::size_t M) { return key % (M-1) + 1; }
내가 10, 0 키를 20 항목을 삽입하는 경우, 항목
이중 해시를 사용하는 Hashtable을 구현 중입니다. 그러나, 내 삽입 (요소) 메서드에 문제가 있습니다. 기본적으로 다음과 같은 작업을 수행합니다. 배열의 계산 된 위치가 비어 있는지 확인하십시오. 그렇다면 요소를 삽입하면 완료됩니다. 위치가 다른 요소에 의해 차단 된 경우 새 해시 값을 계산하고 다시 시작합니다 (재귀). 문제는이 알고리즘이 해시 테
두 번째 충돌 케이스가 제공되면 어떻게 해결됩니까? IE : 의 우리가 숫자의 배열이 있다고 가정 해 봅시다 : [22, 1, 13, 11, 24, -1, -1, -1, -1, -1, - 1] -1- 배열 빈 나타내는 .... 우리 h1(key) = key % 11
h2(key) = 7 - (key % 7)
지나가는하여 33를 삽입하려고한다면 33은