什么是子串
編輯在形式語言理論和計算機科學中,子串是一個字符串中連續的字符序列。例如,thebestof是Itwasthebestoftimes的一個子串。相反,Itwastimes是Itwasthebestoftimes的一個子序列,但不是一個子串。前綴和后綴是子串的特殊情況。一個字符串的前綴S{displaystyleS}是一個字符串S的前綴。的一個子串,是S{displaystyleS}的一個子串。的子串,它出現在S{displaystyleS}的開頭的子串。的開頭;同樣地,一個字符串的后綴S{displaystyleS}的后綴是出現在S{displaystyleS}末尾的子串。的后綴是出現在S的末尾的一個子串。S{displaystyleS}的末尾的一個子串。子串A字符串一個字符串的子串是該字符串的后綴的前綴,也可以說是前綴的后綴;例如,nan是nana的前綴,而nana又是banana的后綴。如果u{displaystyleu}是的一個子串t{displaystylet}的子串,它也是一個子序列。的子串,它也是一個子序列,這是一個更普遍的概念。一個給定的模式在一個給定的字符串中的出現可以用一個字符串搜索算法找到。在數學文獻中,子串也被稱為子字(在美國)或因子(在歐洲),找到等于兩個或多個字符串的最長的字符串被稱為最長的公共子串問題。前綴一個字符串.字符串的適當前綴不等于字符串本身;此外,一些資料還限制適當前綴必須是非空的。前綴可以被看作是子串的一個特例。例如。字符串ban等于字符串banana的一個前綴(以及子串和子序列)。

.一個字符串的適當后綴不等于該字符串本身。一個更有限的解釋是,它也不是空的。[1]后綴可以被看作是子串的一個特例。例子。字符串nana等于字符串banana的一個后綴(以及子串和子序列)。banana||||nana字符串的后綴樹是一個表示所有后綴的trie數據結構。后綴樹在字符串算法中有著大量的應用。后綴數組是這種數據結構的簡化版本,它以字母排序的方式列出后綴的起始位置;它有許多相同的應用。
子串的邊框
編輯邊框是同一個字符串的后綴和前綴,例如,bab是babab的邊框(也是baboon吃kebab的邊框)。超弦一個有限集合的超弦{text{efabccla}的所有成員連接起來。的所有成員,以任意的順序,總是可以得到一個瑣碎的超弦的P{displaystyleP}的瑣碎超弦。.尋找長度盡可能小的超弦是一個更有趣的問題。一個包含指定字符集的所有可能的排列組合的字符串被稱為超級排列組合。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/164141/
