第三章 棧 佇列 陣列

2021-08-27 13:42:03 字數 880 閱讀 8712

1.假設棧初始為空,將中綴表示式

這題和上題區別就是rear指向隊尾元素,而不是隊尾元素的下乙個元素

4.設有下圖所示的火車車軌,入口到出口之間有n條軌道,列車的行進方向均為從左至右,列車可駛入任意一條軌道。現有編號為1~9的9列列車,駛入的次序依次是8,4,2,5,3,9,1,6,7。若期望駛出的次序依次為1~9,則n至少是c 

解析:三對角矩陣如下圖所示:

採用壓縮儲存,將3條對角線上的元素按行優先方式存放在一維陣列b中,且a1,1存放於b[0]中,其儲存形式如下所示:

可以計算矩陣a中3條對角線上的元素ai,j(1≤i,j≤n,|i-j|≤1)在一維陣列b中存放的下標為k=2i+j-3。

解法一:針對該題,僅需將數字逐一帶到公式裡面即可:k=2*30+30-3=87,結果為87。

解法二:觀察上圖的三對角矩陣不難發現,第一行有兩個元素,剩下的在元素m30,30所在行之前的28行(注意下標1≤i≤100、1≤j≤100)中每行都有3個元素,而m30,30之前僅有乙個元素m30,29,那麼不難發現元素m30,30在陣列n中的下標是:2+28*3+2-1=87。

【注意】矩陣和陣列的下標是從0或1開始的(如矩陣可能從a0,0或a1,1開始,陣列可能從b[0]或b[1]開始),這時就需要適時調整計算方法(這個方法無非是針對上面提到的公式k=2*i+j-3多計算1或少計算1的問題)。

第三章 棧和佇列

棧和佇列 一 棧 1 棧的定義 棧是限定僅在表尾進行插入和刪除操作的線性表,允許插入和刪除的一端稱為棧頂,另一端稱為棧底,不含任何資料元素的棧稱為空棧。2 在任何時候出棧的元素都只能是棧頂元素,即最後最後入棧者最先出棧。所以棧中元素除了具有線性關係外,還具有後進先出的特性。3 棧的抽象資料型別定義 ...

第三章 棧和佇列

棧和佇列是兩種常用的資料結構,同時又是操作受限的線性表,也是兩種重要的抽象資料型別。1 1棧是限定僅在表尾進行插入和刪除操作的線性表。棧中元素具有線性關係和後進先出的特性。2雖然對插入和刪除操作的位置限制減少了棧的靈活性,但同時也使得棧的操作更有效更容易實現。3棧的儲存結構分兩種,一種是順序儲存結構...

第三章 棧和佇列

第三章棧和佇列 一 棧1.棧 限定僅在表尾進行插入和刪除操作的線性表 允許插入和刪除的一端稱為棧頂 另一端稱為棧底 2.空棧 不含任何資料元素的棧。3.在任何時候出棧的元素都只能是棧頂元素,即最後入棧者最先出棧,具有後進先出的特性。4.棧的抽象資料型別定義 1 push 輸入 元素值 x 輸出 如果...