사전 및 해시 테이블에 대해 혼란 스럽지만 명확히하고 싶습니다. 현재의 사전 및 현재의 파이썬 실행 결과 해시가 있습니다.사전 및 해시 테이블 공간 복잡성
Dict = dict()
print(hash('a'))
print(hash('b'))
print(hash('c'))
Dict['a'] = 1
Dict['b'] = 2
Dict['c'] = 3
print(Dict)
그래서 내 지식 해시 테이블은 해시 해시 테이블의 인덱스 배열은 단순히
1714333803
1519074822
1245896149
{'a': 1, 'c': 3, 'b': 2}
의 출력을 가지고있다. 예를 들어, 'a'는 해시 테이블이 1714333803이므로 해시 테이블 1714333803의 값은 'a'입니다. 따라서 해시 테이블에있는 인덱스의 수와 해시 함수로 어떻게 해답을 얻는 지 혼란 스럽습니까? 모듈러스를 사용하고 인덱스의 고정 범위가 있습니까? 사전의 주어진 인쇄물은
{'a': 1, 'c': 3, 'b': 2}
을 출력하기 때문에 출력하지만 실제로 출력한다고 가정하는 것은 정확합니다. 사전은 실제로 1714333803 개의 인덱스가 가장 많은 배열입니다. 3 개의 요소를 포함하는 말도 안되는 것 같습니다. 공간의 낭비이다. 또한 해시 테이블의 경우 값이없는 인덱스에는 무엇이 있습니까?
동적으로 배열의 크기를 조정할 수 있습니다. 그러나 모든 키에 대해 해시를 다시 계산해야합니다. 이 링크는 흥미로운 http://www.laurentluce.com/posts/python-dictionary-implementation/ – SnoozeTime
'가치가없는 색인, null'은 무엇을 의미합니까? 해시가없는 키? 또는 채워지지 않은 배열의 위치? – MisterMiyagi
이 동영상도 참조하십시오 : https://www.youtube.com/watch?v=C4Kc8xzcA68 –