萌新筆記03 串

2021-10-04 04:03:50 字數 653 閱讀 4172

字串簡稱串,是由零個或多個字元組成的有限序列。

串中任意個連續的字元組成的子串行成為該串的子串。

串的儲存結構

定長順序儲存表示

#define maxlen 255

typedef

struct

sstring;

堆分配儲存表示

typedef

struct

hstring;

子串向後移動位數=子串與主串已匹配的字元數-對應部分的匹配值(next陣列)

kmp的特點,在匹配過程中,主串始終沒有回退。可以在o(m+n)的時間數量級上完成串的模式匹配操作,大大提高了匹配效率。

如何求next陣列?

串的字首:包含第乙個字元,但不包含最後乙個字元的子串

串的字尾:包含最後乙個字元,但不包含第乙個字元的子串

當第j個字元匹配失敗,由前1~j-1個字元組成的串記為s,則:

next[j]=s的最長相等前字尾長度+1

特別地,next[1]=0

例如:序號j12

3456

模式串aba

baanext[j]01

1234

Python萌新筆記

mychael上了大學,對python產生了濃厚的興趣,便開始了python的學習 學習的時候,感覺python確實比以往學的c 表達簡潔很多,而又不失強大 以後的學習筆記就記在這啦 python中的變數無需宣告,其類別也只有具體賦值的時候才確定 整型 int 1 字串 string1 hello ...

C語言萌新筆記 3

1.printf函式可以用來輸出,並且可以通過格式控制符來控制輸出格式,如 int i 10 printf d i 輸出結果為102.常用的格式控制符有 格式控制符 作用 d 輸出整數 c輸出字元 s字串 f浮點數 小數 ee計數法的浮點數 x十六進製制 3.scanf函式用於從鍵盤處獲取輸入並賦值...

萌新筆記之堆 heap

以前用stl的queue啊stack啊priority queue啊,一直很想懂原理,現在終於課上到了priority queue,還有就是下週期中考,哈哈,所以寫幾篇blog總結一下。這裡萌新講下堆這個好東西 如果搞過acm的童鞋應該會使用stl的priority queue,堆就是stl的pri...