資料結構 第四章 字串和多維陣列

2021-06-26 15:50:16 字數 1129 閱讀 8912

第四章 字串和多維陣列

4.1 字串

4.1.1 字串的定義

1.字串的定義

字串是零個或多個組成的有限序列,只包含空格的串成為空格串。串中所包含的字元個數成為串的長度,長度為0的串為空串,記作「」,乙個非空串通常該記作: s=「s1,s2…sn」

字串中任意個連續的字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串,子串的第乙個字元在主串的序號成為子串在主串的位置。

2.字串的比較

當下列條件之一成立時,稱x>y。

(1)n1

1,(i=1,2…,n);

(2)存在某個k≤min(m,n),使得xi=yi,(i=1,2,…,k-1),xk

k。4.1.3 模式匹配

給定兩個字元s=「s1,s2…sn」和t=「t1,t2…tn」,在主串s中尋找子串t的過程稱為模式匹配,t成為模式。如何匹配成功,返回t在s中的位置;如果匹配失敗,返回0.

1.     樸素的模式匹配演算法

樸素的模式匹配演算法bf

intbf(char s,char t)

else

}if(t[j]=='\0')return (i-j+1);

else return 0;

}2.     改進的模式匹配演算法

bf演算法簡單但效率較低,一種對bf演算法做了很大改進的模式匹配演算法是kmp演算法,其基本思想是主串不進行回溯。

由t[0]~t[k-1]=s[i-k]~s[i-1]和t[j-k]~t[j-1]=s[i-k]~s[i-1]。

可得: t[0]~t[k-1]=t[j-k]~t[j-1]

用next[j]表示t[j]對應的k值(0≤j-1  j=0

next[j]=    max ;

2.       十字鍊錶

稀疏矩陣的鏈結儲存結構稱為十字鍊錶。它具備儲存結構的特點,因此,在非零元素的個數及位置都會發生變化的情況下,通常採用十字鍊錶儲存稀疏矩陣。

其中,element為資料域,儲存非零元素對應的三元組;

right為指標域,指向同一行中的下乙個三元組;

down為指標域,指向同一列中的下乙個三元組。

4.4 應用舉例

1. 字串的應用舉例——凱撒密碼

2. 陣列的應用舉例——幻方

資料結構 第四章 字串和多維陣列

4.1字串 4.1.1 字串的定義 1.定義 字串是零個或多個字元組成的有限序列,只包含空格的串稱為空格串。串中所包含的字元個數稱為串的長度,長度為零的串稱為空串,記作 p非空串通常記為 s s1s2 sn 其中 s是串名,雙引號是定界符,雙引號引起來的部分是串值 si 1 i n 是乙個任意字元。...

資料結構第四章字串和多維陣列

1.字串的定義 字串是零個或多個字元組成的有限序列,只包含空格的稱為空格串。串中所包含的字元個數稱為串的長度,長度為零的串稱為空串。字串中任意個連續的字元組成的子串行稱為該串的子串,包含子串的串稱為主串。子串的第乙個字元在主串中的序號稱為子串在主串中的位置。2.字串的比較 給定兩個字串 x x1x2...

《資料結構》第四章 字串和多維陣列 實驗

資料結構 實驗四 字串和多維陣列 實驗 一 實驗目的 鞏固字串和多維陣列相關知識,學會運用靈活應用。1.回顧字串和多維陣列的邏輯結構和儲存操作特點,字元和陣列的物理儲存結構和常見操作。2.學習運用字串和和陣列的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 ...