課程名稱:資料結構
實驗專案名稱:串基本操作的實現
實驗目的:
1.掌握串的模式匹配操作。
實驗要求:
1、 分別使用bf和kmp演算法完成串的模式匹配。
實驗過程:
bf演算法**;;
1、 設計完成next值的計算函式;
2、 設計完成修正next值的函式;
3、 kmp演算法**;
4、 輸入子串(aaac)和主串(aaabaaaaaac)
5、 輸出子串在主串中開始的位置及不同演算法比較的次數。
此部分實驗報告中給出bf,next,修正next,kmp的**。
實驗結果:
輸入: 子串:aaac; 主串:aaabaaaaaac
輸出:bf,kmp,改進的kmp三種演算法分別比較的次數及查詢到的子串在主串中的位置。
例:bf比較??次 子串位置:8
kmp比較??次 子串位置:8
改進kmp比較??次 子串位置:8
實驗分析:
1.普通next和修正next的區別;
2.列舉除錯執行過程**現的錯誤並分析原因。
要求:(1) 程式要新增適當的注釋,程式的書寫要採用
縮排格式。
(2) 程式要具在一定的健壯性,即當輸入資料非法時,程式也能適當地做出反應。
(3) 程式要做到介面友好,在程式執行時使用者可以根據相應的提示資訊進行操作。
(4) 上傳源程式到課堂派。順序表的源程式儲存為
stringindex.cpp
。
#include using namespace std;
const int inf=0x3f3f3f3f;
const int n=100010;
typedef long long ll;
void index_bf(string s,string t)//bf演算法的實現
void index_kmp1(string s, string t, int next)//kmp演算法實現
int main()
資料結構實驗四 串
一 實驗目的 通過訓練,加深理解並把握串的基本運算的特點。二 實驗內容 問題描述 本題目中的串編輯要求對串實現以下兩種功能 本題目中的串編輯要求對串實現以下兩種功能 插入 把乙個字串插入到給定串的指定位置 刪除 將串中某指定位置開始的若干字元從串中刪除 參考程式 include include in...
資料結構(四) 串
串 string 是由零個或多個字元構成的有限序列,又叫字串 空格串 只包含空格的串 空串 零個字元的串 串的大小比較 對於數字來說,1與2 誰大誰小不用討論,但是 兩個字串怎麼比較大小呢?計算機的常用字元是使用標準的ascii編碼。所以我們字串的比較就是逐個的比較ascii值的大小 串的一些操作函...
漫談資料結構 四 串
串又稱字串,是比較常見的乙個資料結構,它由0或多個字元構成,一般定義為s abcdegf 字元的個數稱為串的長度。長度為0的串為空串,記為s 由空格組成的串為空格串,空格也是字元,記為s 目前,隨著科學技術的發展,非數值處理的情況越來越多,學好字串的處理變得尤為重要,本文將介紹字串處理的幾個基本方法...