2017-12-12 4 views
1

GUARANTEED 시간 제한 작업에 적합한 데이터 구조가 무엇이 었는지 질문 받았습니다. 주요 기능은 조회, 삽입 및 삭제이며 각 opeartion에 대해 0.000005msec와 같은 시간을 보장하고자합니다. 데이터가 끊임없이오고 있습니다.해시 테이블은 매우 특정한 시간 구성 응용 프로그램을위한 좋은 옵션입니까?

해시 테이블 (부하 계수가 임계 값에 도달했을 때 크기 재조정 옵션 사용)이 좋은 옵션입니까? 시간 제한에 따라 임계 값을 정의한 다음 해당 임계 값에 도달하면 테이블의 크기를 조정하거나 다시 채우는 것을 의미합니다. 그것은 당신에게 O (1)의 검색 시간을 줄 수 있기 때문에

감사

+0

충돌이 발생할 수 있기 때문에 해시 테이블이 좋은 옵션이라고 생각하지 마십시오. – Oswald

+0

최상의 조회 구조가 데이터에 많이 의존합니다. 열쇠의 본질은 무엇입니까? 정수? 끈? 다른 것? 각 작업의 비율은 무엇입니까? 즉, 10,000 개의 전체 연산 중 조회 비율은 얼마이고, 삽입 비율은 얼마이며, 삭제 비율은 얼마입니까? 이 해시 테이블의 예상 크기는 얼마나됩니까? –

+0

면접관은 특정 시간 제약 조건 (T)에 대해 emphesized하고 그는 해시 테이블의 O (1) 조회가 보증 된 시간과 동등한 지 여부를 묻습니다. 그렇지 않은 경우 어떤 데이터 구조입니까? 그런 다음 삽입 및 삭제를 수행했습니다. 우리는로드 팩터와 T 값을 연관시켜 mak가 그것에 대해 확신 할 수 있다고 생각했습니다. 그래서, @ JimMischel 각 데이터 유형에 대한 논의를 어떻게 진행합니까? – Nazgol

답변

0

해시 테이블은 조회에 가지고 최선의 선택입니다. 삽입 및 삭제의 경우 지정된대로 표를 다시 칠할 필요가 있거나 충돌 처리 기술 중 하나를 수행해야하는 충돌의 경우를 고려해야합니다. 선형 프로빙, ​​쿼드 러틱 프로빙 (quaddatic probing) 등이 있습니다. 그러나 데이터가 지속적으로 증가함에 따라 테이블 크기를 더 자주 조정해야합니다.

관련 문제