trie

    -4熱度

    1回答

    class node { public: node(){ value = 0; arr = new node*[26]; for(int i =0 ; i<26;i++) arr[i]= NULL; } int value; node ** arr ; }; class trie {

    7熱度

    2回答

    最後編輯 我的函數釋放內存正常工作,並作爲milevyo曾建議,問題出在節點創建,這是我已經固定。我現在有一個單獨的問題,程序在正常運行時發生段錯誤,但不能在gdb或valgrind中複製。但是,這完全是一個單獨的問題。 我已經發現這段錯誤發生是因爲我沒有正確檢查EOF字符。 As per Cliff B's answer in this question,EOF的檢查只發生在文件中的最後一個字符

    1熱度

    2回答

    誰能幫助揭示了爲什麼下面的代碼在運行時會消耗遠遠超過100 MB的RAM一些輕? public struct Trie<Element : Hashable> { private var children: [Element:Trie<Element>] private var endHere : Bool public init() { childre

    0熱度

    1回答

    我面臨一個問題,需要我從給定數量的XOR最大的給定數組中找到一個元素。 例如: A [] = {2,7,3,6}; Number = 4. 現在2^4 = 6,7^4 = 3,3^4 = 7,6^3 = 2因此,3應該是答案,因爲3^7是最大值。 我試圖按照類似結構的trie並繼續尋找最大可能的結果,一點一點地從MSB開始,如果我的位是1,那麼我遍歷0端,如果我的位是0 ,然後我遍歷節點的一側。我

    1熱度

    1回答

    我無法打印出trie在C的話,我已經實現了trie這樣的: struct trie { struct trie *children[26]; char letter; int wordEnd; }; void printSubtree(struct trie *subtree) { int i; if (subtree == NULL){ retu

    2熱度

    1回答

    因此,我正在實現一個用於從文件中讀取唯一字的trie。我是如何實現它的在線尋找和整個做的這種方式來: //插入在特里樹樹 「 void insert(struct node *head, string str) { int i, j; for(i = 0;i < str.size(); ++i){ //if the child node is pointing t

    2熱度

    1回答

    對於這個問題,我必須通讀一個並區分一個單詞是什麼。一個詞不需要有意義,即。一個詞可以是asdas,sdgsgd,dog,sweet等等。要訪問我必須通過映射文件來完成。 File *map, *dictfile, *datafile; char *dictname, *dataname; map = fopen(argv[1],"r"); while (fgets(buffer,sizeof

    1熱度

    1回答

    幾乎用這個打印出來。但遇到一些麻煩。我目前有: void printSubtree(struct trie *subtree, char word[100], int level) { int i; if (subtree == NULL){ return; } if (subtree->wordEnd) { word[

    1熱度

    1回答

    什麼是搜索功能 search_word(); 的錯誤,這是實現使用效率的時間複雜度爲特里或沒有像插入/搜查行動。 考慮一個1500字符的字符串,在不到2秒的時間內執行插入/搜索操作,是否可以通過? class Trie { private: struct node { bool isWord; node* child[26]; nod

    -1熱度

    1回答

    這是爲我的CS50作業。我必須做一個拼寫檢查器,將字典加載到數據結構中。直到文件大小增加纔會發生段錯誤。 //Trie structure typedef struct node { bool is_word; struct node* children[27]; }node; node* root; // maximum length for a word #