1
해시 프로그램을 구현하려고하는데 선형 삽입을 사용하여 삽입 및 충돌을 해결했습니다. 값을 되찾으려고 할 때 충돌을 수정하기 위해 선형 프로빙을 사용했을 때 다른 값을 얻습니다. https://play.golang.org/p/7Pmqu6A313선형 탐색을 사용하여 충돌을 해결 한 후 해시 테이블에서 값을 검색하는 방법은 무엇입니까?
해시 프로그램을 구현하려고하는데 선형 삽입을 사용하여 삽입 및 충돌을 해결했습니다. 값을 되찾으려고 할 때 충돌을 수정하기 위해 선형 프로빙을 사용했을 때 다른 값을 얻습니다. https://play.golang.org/p/7Pmqu6A313선형 탐색을 사용하여 충돌을 해결 한 후 해시 테이블에서 값을 검색하는 방법은 무엇입니까?
솔루션의 문제는 당신이 삽입 작업은 "프로빙 선형"를 사용하지만, 당신이 그것을 검색하는 동일한 방법을 사용하지 않는 것입니다 :
이 내 프로그램입니다.
var hasharray [15]Item
둘째, 내가이 계산 된 해시 인덱스 항목의 값을 확인하는 방법을 검색 변경할 것이며, 후 : - 모든
우선 대신 값의 전체 구조체를 유지하기 위해 밑줄 스토리지를 바꿀 것 여기를 참조하십시오
func retrieve(key string) {
index := hashmethod(key)
found := false
for !found {
item:= hasharray[index];
if key == item.key {
found = true;
fmt.Println(index, item)
} else if index != size-1 {
index++
} else {
index = 0
}
}
}
을 충돌이 있다면 하나 그 반복 처리 항목 중 하나는 실제 항목을 찾을 수 있습니다