7 1 串的模式匹配 25 分 資料結構第4章

2021-09-28 18:21:49 字數 771 閱讀 5801

這個題目主要考的是kmp演算法,我感覺kmp演算法理解起來有點小困難,但是**超級短,時間複雜度為(n+m),但是我發現字串hash更好用一些,而且很容易理解

這個文章中有我對字串hash的模板

下面是這個題通過的**,用了幾十毫秒,速度還是相當快的

#include #include using namespace std;

const int n = 1000010 ,p = 13331;

typedef unsigned long long ull;

int n, m;

char str[n];

ull h[n],p[n];

char str1[n];

ull h1[n],p1[n];

ull get(int l,int r)

int main()

int t;

scanf("%d",&t);

while(t--)

ull t1 = h1[m];

bool tf = true;

for(int i = m;i<=n;i++)

}if(tf)

printf("not found\n");

}return 0;

}

kmp演算法的模板和題解以後再補上,如果大家直接呼叫庫函式好像也能通過這個題目,但是這並不是這個題考察的意圖

7 1 列出葉結點(25 分) 資料結構

7 1 列出葉結點 25 分 對於給定的二叉樹,本題要求你按從上到下 從左到右的順序輸出其所有葉節點。輸入格式 首先第一行給出乙個正整數 n 10 為樹中結點總數。樹中的結點從 0 到 n 1 編號。隨後 n 行,每行給出乙個對應結點左右孩子的編號。如果某個孩子不存在,則在對應位置給出 編號間以 1...

浙大資料結構 KMP 串的模式匹配 25 分

給定兩個由英文本母組成的字串 string 和 pattern,要求找到 pattern 在 string 中第一次出現的位置,並將此位置後的 string 的子串輸出。如果找不到,則輸出 not found 本題旨在測試各種不同的匹配演算法在各種資料情況下的表現。各組測試資料特點如下 資料0 小規...

資料結構 7 1 括號匹配

給定一串字元,不超過100個字元,可能包括括號 數字 字母 標點符號 空格,程式設計檢查這一串字元中的 是否匹配。輸入格式 輸入在一行中給出一行字串,不超過100個字元,可能包括括號 數字 字母 標點符號 空格。輸出格式 如果括號配對,輸出yes,否則輸出no。輸入樣例1 sin 10 20 輸出樣...