suffix-tree

    0熱度

    2回答

    查找最長重複子串的算法公式如下 1)build the suffix tree 2)find the deepest internal node with at least k leaf children 但我不明白爲什麼這個工作正常,所以基本上是什麼讓這個算法正確?還有,我發現這個算法說,在O(n)中找到重複的子字符串,其中n是子字符串的長度,這對我也不是很清楚!讓我們考慮下面的樹,這裏最長的重

    0熱度

    1回答

    我正在嘗試在C++中爲編程任務實現後綴trie。現在我認爲我有正確的想法,但是我一直在發生分段錯誤,而且我一直無法找到造成它的原因。 對於這個任務,我們鼓勵使用VIM /其他一些基本的文本編輯器,並從控制檯編譯程序。儘管如此,我已經下載了CLion來嘗試和調試代碼,所以我可以找到錯誤。 現在,在克利翁運行時,我得到的消息 terminate called after throwing an ins

    1熱度

    1回答

    如果是這樣,有人可以解釋後綴樹中的後綴鏈接的目的是爲了確切的字符串匹配嗎?

    3熱度

    2回答

    我正在編寫一個在C++中實現後綴trie的程序。我試圖聲明一個沒有參數的遞歸函數,但是需要將一個指針傳遞給它自己。 我在cpp文件,其中節點是先前聲明的數據結構從而限定它 public: string longestRepeat(Node*); 在頭文件 ,和 string Trie::longestRepeat(Node* start = &nodes[0]){ stri

    2熱度

    1回答

    從數據結構與算法分析Java中,魏斯匹配: 維斯寫道: 在樹葉中,我們使用後綴開始的索引(如在後綴數組中) 在內部節點中,我們存儲從根開始匹配的常用字符數,直到內部節點;這個數字代表字母深度。 我的問題:給定的輸入字符串(例如「香蕉」)和後綴樹的隱式表示,將好的算法用於字符串搜索是什麼樣子?我見過的算法假定樹的不同表示。我想做子串搜索而不轉換成不同的樹形表示。

    0熱度

    2回答

    我在下面看到完美的程序。按我來說,它的時間複雜度是nlogn,其中n是String的長度。 n用於存儲不同的字符串,nlog用於排序,n用於比較。所以時間複雜度是nlogn。 空間複雜度爲n用於存儲n個子字符串 我的問題是可以進一步優化嗎? public class LRS { // return the longest common prefix of s and t p

    2熱度

    3回答

    中的所有重複模式我有一個問題,我必須找到句子中存在的所有重複模式。 例子:'camel horse game camel horse gym camel horse game' # This is the sanitized string as I will cleanup anything other than words before it. ['camel horse game', 0, 3

    0熱度

    1回答

    我正在處理後綴樹。據我所知,我已經正確運行了Ukkonen的算法,可以從任意數量的字符串中構建通用後綴樹。我現在試圖實現一個find_longest_common_substring()方法來做到這一點。爲了這個工作,我知道我需要在樹中的所有字符串之間找到最深的共享邊(字符深度而不是邊),並且我一直在掙扎幾天來獲得遍歷權。 現在我在C++中有以下內容。我會盡量提供所有代碼,但對於上下文,我將每個節

    1熱度

    2回答

    我有一個複雜的字符串操作問題。 我有一個字符串,我將有循環,以及我需要識別和列出的循環。 'abcabcabcabcabcdkkabclilabcoabcdieabcdowabcdppabzabx' 以下是可能的模式 - 不使用 ABC> 實際指標 - > 0,3,6,9,12,15,17,...... (對於重複串occurence指數), 0,3,6,9(unique_occurence指

    0熱度

    1回答

    我可怎麼辦下一步操作,用繩子S的後綴樹,誰的頂點數量爲O界函數(| S |): 是-K - 子字符串(r) - 檢查字符串r是否爲s的k-子字符串,其中k-子字符串定義如下: s的子字符串r定義爲k-字符串,如果有一個分區s到子字符串,其中: r = x1x2 ... xk; xi = s的子串。例如:s = whitething,r = within,r是s的3個子字符串。 我需要該操作來處理O