달성 트라이

또한 트라이, 트리는 트리, 트리, 해시 트리의 변형으로 알려진 사전 트리.

종류와 문자열의 많은 저장 (문자열,하지만 제한) 통계에 대한 일반적인 응용 프로그램, 그것은 종종 텍스트 검색 엔진 시스템의 단어 빈도 통계에 사용됩니다.

그것의 장점은 다음과 같습니다 공통 접두어 문자열의 사용은 불필요한 문자열 비교, 고효율 양방향 Haxi 쿼리 트리를 최소화 쿼리 시간을 줄일 수 있습니다.

 

 

다음은 구현 부분이 코드입니다

# 트리는

클래스 TrieNode2 :

    데프  __init__ (자기) :
        self.childs = 딕셔너리 ()   #의 구조 사전 
        self.is_leaf가 = 거짓

    데프 (: STR 자기, 워드) 삽입 :
        CURR = 자체
         에 대한 문자 단어 :
             경우 문자 하지  curr.childs :
                curr.childs [숯] = TrieNode2 ()
            CURR = curr.childs [CHAR]
        curr.is_leaf = 

    데프 (: STR 자기, 단어를) 검색 :
        CURR = 자체
         에 대한 문자 단어 :
             경우 문자 하지  curr.childs :
                 리턴 거짓
            CURR = curr.childs [숯]
         복귀 curr.is_leaf


'' '
다음은 테스트 코드입니다
'' 
트라이 = TrieNode2 ()를

(trie.insert " 아무것도 " )
(trie.insert " 사람을 " )
(trie.insert " anybody1을 " )
trie.insert ( " anybody3 " )
 인쇄 (trie.search ( " " ))   # -> 거짓 
인쇄 (trie.search ( " anybody1 " ))   # -> 트루

 

추천

출처www.cnblogs.com/coloz/p/11892067.html