List와 달리 Dictionary는 내부적으로 hash를 통해서 자료들을 저장하기 때문에 시간복잡도가 O(1)이 가능한걸로 알고 있습니다. Dictionary는 배열로 미리 Hash Table 사이즈만큼 생성 후에 사용하기 때문에 공간과 탐색 시간을 맞바꾸는 기법이라고 할 수 있겠네요. Key를 hashing 함수로 연산해서, hash 주소를 알아내고, 이를 기반으로 해쉬 테이블에서 해당 Key에 대한 데이터 위치를 알아내기 때문에 모든 키를 탐색할 필요가 없는거죠! 어설프지만 이런 이유라고 알고 있습니다 :)
댓글 1개