ds第四章學習記錄

2022-08-21 05:00:09 字數 1667 閱讀 7910

一.定義

子串 主串  空格串≠空串 φ

堆式順序儲存結構

二. 匹配:

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=;

開始匹配

abaabaabcabaabc

abaabc

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

abaabaabcabaabc

-----abaabc

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

五. 實踐小結

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

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

位圖法應用

使用位圖法判斷整形陣列是否重複

使用位圖法進行整形陣列排序

圖源 

python學習第四章

1.建立字典 每個鍵和它的值之間用冒號隔開,項之間用逗號隔開,整個字典使用一對大括號括起來。2.字典基本操作 len d 返回d中項的數量。d k 返回關聯到鍵k上的值。d k v將值v關聯到鍵k上。del d k 刪除鍵位k的項。k in d檢查d中是否有含有鍵為k的項。3.字典的格式化字串 可以...

C Primer 學習(第四章)

1.左值和右值 c 中可以這樣簡單的理解左值和右值 能夠取位址的 有名字的就是左值,反之,不能取位址的 沒有名字的就是右值。當乙個物件被用作右值的時候,用的是物件的值 內容 當物件被用作左值的時候,用的是物件的身份 在記憶體中的位置 乙個重要的原則是在需要右值的地方可以用左值來代替,但是不能把右值當...

LinQ In Action 學習第四章

第四章開始了 linq to object 的講解 entity 用了很多linq的語法,如果linq 掌握好了entity很好學了 第四第五章 需要多加練習例子,熟練linq 的語法。第四章的例子做完了,主要講了一些常用的linq 語法。1.select select many 2.orderby...