whdgurclzls   3년 전

안녕하세요 파이썬 dictionary에 key값에 문자열이 들어가고 해도 찾을때 O(1)이 나온단게 신기합니다. 내부적으로 해싱같은 기법을 사용하는 것인가요? 코드를 보고싶었는데 검색해봐도 사용법밖에 나오질 않네요.. 파이썬 파일 어딘가에 있을거라 생각하여 'dict'들어간 파일들 찾아봤는데도 보이질 않고요.. 

그래서 질문 드립니다.

1. 파이썬 내부 라이브러리 dictionary가 해싱을 사용하는 것인지

2. 라이브러리 원본 코드를 구글링 하려면 검색어를 어떤식으로 해야할지..

하나만이라도 답변 감사하오니 지식의 공유 부탁드립니다!

사실 해싱 직접 구현하다가 '리스트 대신 dictionary로 구현해볼까?' 라는 생각이 들었고, '어? 그러면 dictionary는 문자열 O(1)로 찾는데 이것도 해싱 아니야? 그렇담 내가 구현하는 해싱에서 dictionary를 쓰면 닭이 먼저인거야 알이 먼저인거야?' 라는 생각이 들었고 뭐라는건지도 모르겠고 혼란스럽네요

아무튼 요지는 저 두 질문입니다!

주말 잘 보내시고, 시간내어 글 읽어주셔서 감사합니다! :)

luniro   3년 전

1. 해싱을 이용합니다

2. python dictionary implementation source code라 검색하면 https://github.com/python/cpyt...이 나옵니다

whdgurclzls   3년 전

감사합니다!! 덕분에 궁금했던점 말끔히 해결했습니다. 어떤식으로 검색해야할지도 알게되었고요

답변 주셔서 감사합니다! 복받으세요~~~  :)

댓글을 작성하려면 로그인해야 합니다.