2023年408真題 線性表

2021-08-22 12:12:00 字數 496 閱讀 6712

【問題描述】設將n(n>1)個整數存放在一維陣列r中。試設計乙個在時間和空間兩方面都盡可能高效的演算法。將r中儲存的序列迴圈左移p(p>0)個位置。

例如,假設p【測試樣例】r=     p=3

【輸出結果】3 4 5 6 0 1 2

將陣列r(x0,x1…..xn-1)分成兩部分(x0,x1,……xp-1),(xp, xp+1,…..xn-1)對這兩部分中的元素分別進行逆置

中間結果為(xp-1,xp-2,......x1,x0),(xn-1,xn-2,......xp-1,xp),再對整個陣列進行逆置

最終結果為(xp, xp+1,…..xn-1,x0,x1……xp-1)

由於要求中有時間空間兩方面盡可能高效,上述演算法的空間複雜度為o(1),採用逆置演算法時間複雜度為o(n)

//陣列的逆置演算法

void reverse_all(int r,int n)

for(i=p;ifor(i=0;i}

2023年408真題 線性表

已知乙個整數序列a a0,a1,an 1 其中0 ain 2 0 pk假設a中的n個元素儲存在乙個一維陣列中,請設計乙個盡可能高效的演算法,找出a的主元素。若存在主元素,則輸出該元素 否則輸出 1 測試樣例 輸出結果 5 測試樣例 輸出結果 1 選取候選的主元素 依次掃瞄陣列中的數,將第乙個遇到的數...

線性表客觀題 2021 1 11

1 1 對於順序儲存的長度為n的線性表,訪問結點和增加結點的時間複雜度分別對應為o 1 和o n t 1 2 若某線性表最常用的操作是訪問任一指定序號的元素和在最後進行插入和刪除運算,則利用順序表儲存最節省時間。t 1 3 在具有n個結點的單鏈表中,訪問結點和增加結點的時間複雜度分別對應為o 1 和...

2023年計算機考研408真題 29題

2014年計算機考研408真題 29題 29.在乙個檔案被使用者程序首次開啟的過程中,作業系統需做的是 b a.將檔案內容讀到記憶體中 b.將檔案控制塊讀到記憶體中 c.修改檔案控制塊中的讀寫許可權 d.將檔案的資料緩衝區首指標返回給使用者程序 相關知識點 檔案的開啟與關閉 一直感覺這個地方學的比較...