2016-10-27 2 views
-2
dict = { 
'a':'apple', 
'b':'ball', 
'c':'cat', 
'd':'dog' 
'e':'elepant', 
'f':'fan', 
'g':'goat', 
} 

내가 이와 같은 사전을 가지고 있다면 그것을 이진 트리로 변환 할 수 있습니까? 나는 이것을 균형 잡힌 바이너리 트리로 전환하여 사용자가 검색 할 글자를 입력 할 때 포스트 주문 탐색을 수행하여 트리에서 글자를 검색 한 다음 결국 엔트리를 인쇄합니다. 단어 ... 나는 python 3.4를 사용하고 있습니다 ... :)dict를 파이썬에서 이진 트리로 변환하는 방법은 무엇입니까?

+1

사이트에 오신 것을 환영합니다! 모든 이진 트리 또는 균형? 열쇠로? 시도한 내용과 달성하고자하는 내용에 대한 자세한 내용을 제공하려면 질문 [https://stackoverflow.com/posts/40291004/edit]을 편집하십시오. ** 또한 ** Python 버전은 무엇입니까? Py2와 Py3은 서로 다른 해답을 가지고 있습니다. – cxw

+2

http://stackoverflow.com/q/2298165/2800918 근처 중복 – CAB

답변

0

OK, 짧은 질문에 대한 짧은 대답. 그 유형의 이름이기 때문에

  1. , 당신의 변수의 이름으로 dict을 사용하지 마십시오. 대신 words 또는 무언가를 사용하십시오.

  2. this answer의 코드를 사용하십시오.

  3. tree = binary_tree(words.values()) 
    

    중첩 된 목록의 형태로 값의 트리를 얻을 마십시오.

    또한, 파이썬 3에서, 적어도 각 목록 항목의 키와 값을 가진 나무를 얻을 수

    tree = binary_tree(words.items()) 
    

    을 할 수 있어야합니다.

편집 네, 링크 전용 답변 나쁘다. :) 변수 이름 변경은 충분히 중요하다고 생각합니다.

관련 문제