資料結構作業 實驗專案四 串基本操作的實現

2021-10-01 04:08:13 字數 1088 閱讀 4069

課程名稱:資料結構

實驗專案名稱:串基本操作的實現

實驗目的:

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 目前,隨著科學技術的發展,非數值處理的情況越來越多,學好字串的處理變得尤為重要,本文將介紹字串處理的幾個基本方法...