日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

网易云课堂-数据结构

發(fā)布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 网易云课堂-数据结构 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

第二周 ?2.1線性表

對C語言使用不全,對typedef struct有疑問,希望能盡快解決。鏈表可以理解。

對時間復(fù)雜度計算不明確。廣義鏈表不明確。

2.2堆棧?

剛開始對前綴后綴表達(dá)式不懂 這篇blog寫的很清楚讓我弄懂了 ?

點擊打開鏈接

中綴==》前綴表達(dá)式從右向左掃描,遇右括號進(jìn)棧,左括號找右括號并彈出壓入結(jié)果棧。

當(dāng)轉(zhuǎn)換成后綴表達(dá)式時從左到右 左括號(進(jìn)入棧內(nèi)優(yōu)先級變最低;壓入堆棧有*時,再壓入/,因為從左到右順序所以*比/優(yōu)先級高 彈出*壓入/。

若優(yōu)先級大于棧頂符號則PUSH;

若優(yōu)先級小于棧頂符號則POP棧頂符號 再比較該符號與新棧頂符號

/*補(bǔ)充 !!

(1) 初始化兩個棧:運算符棧S1和儲存中間結(jié)果的棧S2;
(2) 從右至左掃描中綴表達(dá)式;
(3) 遇到操作數(shù)時,將其壓入S2;
(4) 遇到運算符時,比較其與S1棧頂運算符的優(yōu)先級:
(4-1) 如果S1為空,或棧頂運算符為右括號“)”,則直接將此運算符入棧;
(4-2) 否則,若優(yōu)先級比棧頂運算符的較高或相等,也將運算符壓入S1;
(4-3) 否則,將S1棧頂?shù)倪\算符彈出并壓入到S2中,再次轉(zhuǎn)到(4-1)與S1中新的棧頂運算符相比較;
(5) 遇到括號時:
(5-1) 如果是右括號“)”,則直接壓入S1;
(5-2) 如果是左括號“(”,則依次彈出S1棧頂?shù)倪\算符,并壓入S2,直到遇到右括號為止,此時將這一對括號丟棄;
(6) 重復(fù)步驟(2)至(5),直到表達(dá)式的最左邊;
(7) 將S1中剩余的運算符依次彈出并壓入S2;
(8) 依次彈出S2中的元素并輸出,結(jié)果即為中綴表達(dá)式對應(yīng)的前綴表達(dá)式。

*/

中綴==》后綴 ?從左向右掃面,類似,遇左括號進(jìn)棧,右括號找左括號彈出進(jìn)入結(jié)果。?


Push (S);

x=Pop(S);


堆棧鏈表 單鏈表 在表頭操作 ?表頭不是第一個有用的元素,指向第一個有用的元素,插入最后S->next=Tempcell指向新節(jié)點;

鏈表頭 刪除插入都方便,隊尾不能刪除因為單鏈表無法找到前一個節(jié)點。

2.3隊列

循環(huán)隊列 front rear 絕對值差n卻要表示n+1個狀態(tài)。 解決方法:tag看最后一次操作是插入還是刪除;size大小;只使用n-1個地方,n個狀態(tài) 浪費一個空間。

求余。

鏈表頭 刪除插入都方便,隊尾不能刪除因為單鏈表無法找到前一個節(jié)點。

所以front要執(zhí)行刪除必須在表頭

總結(jié)

以上是生活随笔為你收集整理的网易云课堂-数据结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。