ds第四章學習記錄


一.定義

子串 主串  空格串≠空串 Φ

堆式順序儲存結構

 

二. 匹配:

1.庫函數 strstr (C++/C

           返回字串頭指針 /null   (一個一個向前挪地比較

              T = O(n*m)     最壞情況 最后一個字符不同

 

 2.改進-----從末尾開始比

      幸運:T = O(n)                                   T = O(n*m)        最壞情況 第一個字符不同

 

3.KMP算法 

        T = O(n)

     找到相同子串  

 

 三. 數組

             三維數組

 
四. PTA題集
LOC(a47)=LOC(a00)+(j*m+i)*L=SA+(7*8+4)*3=SA+180

 

 

13、設主串 T = abaabaabcabaabc,模式串 S = abaabc,采用 KMP 算法進行模式匹配,到匹配成功時為止,在匹配過程中進行的單個字符間的比較次數是:(B)
A. 9
B. 10
C. 12
D. 15

解析:

求next數組,next={-1,0,0,1,1,2};

開始匹配

abaabaabcabaabc
abaabc
當比較到s[5]時,不成功,比較6次;

abaabaabcabaabc
-----abaabc
根據next[5]=2,移動S到S[2]處,從S[2]處開始比較,比較4次,成功;

一共比較10次
(原文鏈接:https://blog.csdn.net/weixin_43751983/article/details/103370761)

 

五. 實踐小結

   
    pta求交集那題  1 先順序再求交集

                              2 位圖法                           (最后沒過的那個測試點是各有100000個數 那我一開始記錄的數組就要大一點了

位圖法就是bitmap的縮寫,所謂bitmap,就是用每一位來存放某種狀態,適用於大規模數據,但數據狀態又不是很多的情況。通常是用來判斷某個數據存不存在的。---百度解釋

位圖法應用

            使用位圖法判斷整形數組是否重復

            使用位圖法進行整形數組排序

 

圖源 https://blog.csdn.net/yangquanhui1991/article/details/52172340

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM