資料結構 串

2021-08-10 13:39:17 字數 936 閱讀 2382

一、簡答題

1、串的邏輯結構是什麼?

答:串是字串的簡稱,它也是一種線性結構。串是由零個或多個字元組成的有限序列。

2、空串與空格串的區別是什麼?

答:空串:含零個字元,長度為0;

空格串:只包含空格字元。

3、兩個串相等的充分必要條件是什麼?

答:兩個串相等的充分必要條件是:當且僅當兩個串的長度相等並且各個對應位置上的字元都相同時,這兩個串才是相等的。

4、空串是任意串的子串嗎?串自身呢?

答:空串是任何串的子串;乙個串中任意個連續字元組成的序列都是該串的子串,所以串本身也是其子串。

5、什麼是結點大小?

答:通常將鏈串中每個節點所儲存的字元個數稱為節點大小。

6、什麼是模式匹配?

答:設有主串s和子串t,定位子串t就是要在主串s中找到乙個與子串t相等的子串。通常把主串s稱為目標串,把子串t稱為模式串,因此定位也稱作模式匹配。

7、kmp的特點是什麼?

答:消除了主串指標的回溯,從而使演算法效率有了某種程度的提高。

已知模式串t為:「abcdababcdae」,求出給出模式串寫出next。

答:模式串用next陣列存放它的「部分匹配」資訊。實際上,模式串中的部分匹配資訊就是真子串。

對於n號字元x,前面的子串中,找出與模式串t的開頭字元匹配的有幾個。

j        0   1   2   3   4   5   6   7    8   9   10   11

t[j]     a   b   c   d   a   b   a   b    c   d    a    e

next[j]  -1  0   0   0   1   1   2   1    2   3    4    5

二、演算法題

編寫演算法實現串的置換操作replace( s, t, r), 即將串s中所有與串t相等的子串置換為串r.。

資料結構 串

輸入乙個字串,按字典序列印出該字串中字元的所有排列。例如輸入字串abc,則列印出由字元a,b,c所能排列出來的所有字串abc,acb,bac,bca,cab和cba。結果請按字母順序輸出。我們求整個字串的排列,可以看成兩步 首先求所有可能出現在第乙個位置的字元,即把第乙個字元和後面所有的字元交換。第...

資料結構 串

串名 串值 串長 空串 空格串。字串的比較 字串模式匹配演算法 1.簡單字串模式匹配演算法 最簡單實現是用字串p的字元依次與字串t中的字元進行比較。實現思想是,首先將子串p從第0個字元起與主串t的第pos個字元起依次比較對應字元,如全部對應相等,則表明已找到匹配,成功終止。否則將子串p從第0個子串起...

資料結構 串

串 又稱字串 是一種特殊的線性表,它的每個結點僅由乙個字元組成。在早期的程式語言中,串僅在輸入或輸出中以直接量的形式出現,並不參與運算。隨著計算機的發展,串在文字編輯 詞法掃瞄 符號處理以及定理證明等許多領域得到越來越廣泛的應用。在高階語言中開始引入了串變數的概念,如同整型 實型變數一樣,串變數也可...