串
串的定義:零個或多個字符組成的有限序列(即字符串)饮潦;
長度:字符的數(shù)目 (數(shù)目為零:空串)
字符串的比較
本質(zhì)上是進行ASCII編碼上序號的比較噪矛。
串的相等條件:(長度相等栅组,所有位置的編碼大小一致)瑟俭;
串的大小比較:(1:長度相等障斋,依次比較相同位置編碼大腥枋俊泪掀;2:長度不相等:依次比較相同位置的編碼大小,识补。先出現(xiàn)編碼小的字符串則小族淮,反之則大)。
串的存儲結(jié)構(gòu)
順序存儲結(jié)構(gòu)
實現(xiàn)方式:一定的固定存儲空間凭涂,一般末尾有標記符例如:“\0”;
以為順序存儲空間的缺點祝辣,空間固定,所以進行字符串的操作的時候會出現(xiàn)溢出等現(xiàn)象切油,所以這里有一些變化蝙斜,串值的存儲空間可在程序執(zhí)行過程中動態(tài)
分配而得。(堆區(qū))
鏈式存儲結(jié)構(gòu)
一般使用一個節(jié)點存儲多個字符來實現(xiàn)澎胡,未滿的節(jié)點則使用#來占位孕荠。
優(yōu)點:在進行字符串的操作,拼接方便
缺點:不如順序存儲靈活攻谁,性能不好稚伍。
字符串的匹配算法
字符串的子串的定位操作一般稱為模式匹配
樸素模式匹配算法
時間復(fù)雜度最好O(1) ,這點有疑問?戚宦?个曙??受楼?垦搬??艳汽?猴贰??河狐?米绕?瑟捣??义郑?
時間復(fù)雜度 最差 O((n-m+1)*m)