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

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

      编程问答

      网易云课堂-数据结构

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

      第二周 ?2.1線性表

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

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

      2.2堆棧?

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

      點擊打開鏈接

      中綴==》前綴表達式從右向左掃描,遇右括號進棧,左括號找右括號并彈出壓入結果棧。

      當轉換成后綴表達式時從左到右 左括號(進入棧內優先級變最低;壓入堆棧有*時,再壓入/,因為從左到右順序所以*比/優先級高 彈出*壓入/。

      若優先級大于棧頂符號則PUSH;

      若優先級小于棧頂符號則POP棧頂符號 再比較該符號與新棧頂符號

      /*補充 !!

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

      */

      中綴==》后綴 ?從左向右掃面,類似,遇左括號進棧,右括號找左括號彈出進入結果。?


      Push (S);

      x=Pop(S);


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

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

      2.3隊列

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

      求余。

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

      所以front要執行刪除必須在表頭

      總結

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

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。