접두사 트 리 (사전 트 리) 배열 구현 및 링크 구현

1917 단어 데이터 구조
배열 로 내부 구현
class Trie {
public:
    /** Initialize your data structure here. */
    int cnt=0;
    int nex[100005][26];
    bool exist[100005];
    Trie() {
        cnt = 0;
        memset(nex, 0,sizeof(nex));
        memset(exist, 0,sizeof(exist));
    }
    
    /** Inserts a word into the trie. */
    void insert(string word) {
        int p =0;
        for(int i=0;i

링크 를 사용 하여 내부 실현 을 진행 하 다.
struct Trienode{
    bool exist=false;
    Trienode* nex[26]={NULL};
};
class Trie {
public:
    /** Initialize your data structure here. */
    Trienode a;
    int cnt=0;
    Trie() {
        Trienode* tmp =new Trienode;
        a = *tmp;
        a.exist=false;
    }
    
    /** Inserts a word into the trie. */
    void insert(string word) {
        Trienode *p = &a;
        for(int i=0;inex[word[i]-'a']){
                Trienode* tmp = new Trienode;
                p->nex[word[i]-'a']=tmp;
                p=tmp;
            }
            else{
                p=p->nex[word[i]-'a'];
            }
        }
        p->exist=true;
    }
    
    /** Returns if the word is in the trie. */
    bool search(string word) {
        Trienode p = a;
        for(int i=0;i

 
 
 

좋은 웹페이지 즐겨찾기