Skip to main content

해시 가능 란 무엇입니까?

computer 컴퓨터 과학에서 해시 가능은 키라고하는 값 목록으로 구성된 데이터를 저장하기위한 데이터 구조입니다.예를 들어, 비즈니스 이름은 주소와 짝을 이룰 수 있습니다.일반적으로 배열의 각 값은 해시라고하는 위치 번호를 갖습니다.해시 함수는 일반적으로 각 키 값을 해시 mdash에 매핑하는 일련의 지침 또는 알고리즘입니다.예를 들어 비즈니스 이름을 주소, 전화 번호 및 비즈니스 범주에 연결합니다.해시 함수의 목적은 각 키를 배열에서 고유 한 해당 값에 할당하는 것입니다.이것은 일반적으로 해싱이라고합니다.해시 가능이 올바르게 작동하려면 해시 함수가 올바르게 형식화되어야합니다.data 일련의 데이터에 대한 해시 가능의 성능은 해시 함수의 효율에 따라 다릅니다.우수한 해시 함수는 일반적으로 균일 한 키 조회와 해당 배열에서 매핑의 균일 한 분포를 제공합니다.해시 충돌은 두 키가 동일한 해당 값에 할당 될 때 발생합니다.해시 충돌이 발생하면 해시 함수는 일반적으로 고유 한 해당 값이 발견 될 때까지 다시 실행됩니다.이것은 일반적으로 해시 시간이 길어집니다.해시 테이블의 키 수는 일반적으로 고정되어 있지만 때로는 중복 키가있을 수 있습니다.그럼에도 불구하고 잘 설계된 해시 테이블에는 각 키를 배열의 고유 한 해당 값에 매핑하는 효과적인 해시 함수가 있습니다.때때로, 해시 가능에서 비효율적 인 해시 함수는 또한 매핑 클러스터를 생성 할 수 있습니다.해시 함수가 기존 키에 대한 매핑 클러스터를 생성하면 해당 값을 조회하는 데 걸리는 시간이 증가 할 수 있습니다.대부분의 해시 함수는 일반적으로 배열에서 다음으로 사용 가능한 위치를 찾기 때문에 향후 키에 대한 해싱 속도를 늦출 수 있습니다.큰 값 클러스터가 이미 할당 된 경우 일반적으로 새 키에 대한 할당되지 않은 값을 찾는 데 훨씬 더 오래 걸립니다.load 부하 계수는 해시 함수의 효율과 관련된 또 다른 개념입니다.하중 계수는 해시 테이블에서 해당 배열의 전체 크기와 관련하여 이미 존재하는 해시의 양입니다.일반적으로 이미 할당 된 키의 수를 해당 배열의 크기로 나누어 정의됩니다.하중 계수가 증가함에 따라, 좋은 해시 함수는 일반적으로 일정한 수의 충돌 및 클러스터를 특정 지점까지 유지합니다.종종이 임계 값은 주어진 수의 키와 해시 함수가 얼마나 효율적인지를 결정하는 데 사용될 수 있으며 새로운 해시 함수가 필요한 시점.부하 계수가 증가하는 충돌이나 클러스터를 생성하지 않는 것.이론적으로, 완벽한 해시 테이블을 생성하는 열쇠는 완벽한 해시 기능을 생성하는 것입니다.일반적으로 연구자들은 완벽한 해시 기능이 일정한 성능을 가져야한다고 생각합니다.충돌 및 클러스터의 수 mdash;부하 계수가 증가합니다.최악의 경우 시나리오에서 완벽한 해시 기능은 임계 값에 도달하지 않고도 일정한 해싱을 허용합니다.