1.對矩陣壓縮儲存是為了()
a,方便運算
b,方便儲存
c,提高運算速度
d,減少儲存空間
答案:d
解析:不管是鄰接矩陣還是鄰接表,都節省了儲存空間
2.(單選題) 有兩個n*n的矩陣a和b,想要在pc上按矩陣乘法基本演算法程式設計實現計算a*b。假設n較大,本機記憶體也很大,可以存下a、b和結果矩陣。那麼,為了計算速度,a和b在記憶體中應該如何儲存(按行存指先儲存第一行,再第二行,直到最後一行;按列存指先儲存第一列,再第二列,直到最後一列)?
a,a按行存,b按行存
b,a按行存,b按列存
c,a按列存,b按行存
d,a按列存,b按列存
答案:b
解析:
3.(1)靜態鍊錶既有順序儲存的優點,又有動態鍊錶的優點。所以,它訪問表中第i個元素的時間與i無關。
(2)靜態鍊錶中能容納的元素個數的最大數在表定義時就確定了,以後不能增加.
(3)靜態鍊錶與動態鍊錶在元素的插入、刪除上類似,不需做元素的移動。
以上錯誤的是()
1/1a (1),(2)
b (1)
c (1),(2),(3)
d (2)
答案:b
解析:(1)錯,(2)(3)對。
靜態鍊錶是用陣列儲存節點資料,模擬鍊錶的實現,但是沒有用到指標。每個陣列節點包括兩部分:data域和cursor(游標)域。data儲存資料,cursor指明下個元素在陣列中的下標。
(1)訪問第i個元素時,需要從頭遍歷到i-1和元素,由第i-1個節點的cursor,才能知道第i個元素儲存的位置,因此和i是相關的。
(2)使用陣列對元素進行儲存,在定義時大小已經確定。
(3)插入和刪除操作無需移動元素,只需要修改cursor游標的值即可,就像修改動態鍊錶中的指標一樣。
4.a為整數陣列, n為a的陣列長度,請問執行以下**,最壞情況下的時間複雜度為____。 1
2
3
4
5
6
7
8
9
10
11
void
fun(
int
a,
int
n)
}
}
}
1/1a o(n)
b o(n^2)
c o(nlog(n))
d o(log(n))
e o(n^3)
f 無法確定
答案:b
解析:
氣泡排序法,最壞情況為(n-1)+(n-2)+……+1=n(n-1)/2 所以複雜度是n^2
5.有乙個二維陣列a[1...100 , 1...65]有100行,65列,我們以行序為主序,如果該陣列的基位址是10000,且每個元素佔2個儲存單元,請問a[56 , 22]的儲存位址是 (1)
。注意是下標是從1開始的
答案:17192
解析:10000 + ((56 - 1) * 65 -1 + 22) * 2 = 17192。
牛客網練習題1
給定區間 2的31次方,2的31次方 內的3個整數a b和c,請判斷a b是否大於c。輸入第1行給出正整數t 10 是測試用例的個數。隨後給出t組測試用例,每組佔一行,順序給出a b和c。整數間以空格分隔。對每組測試用例,在一行中輸出 case x true 如果a b c,否則輸出 case x ...
關於陣列的練習題
題目描述 從鍵盤讀入學生成績,找出最高分,並輸出學生成績等級。成績 最高分 10 等級為 a 成績 最高分 20 等級為 b 成績 最高分 30 等級為 c 其餘 等級為 d public class arraydemo1 5.根據每個學生成績與最高分的差值,得到每個學生的等級,並輸出等級和成績 c...
牛客網練習題整理(3)
1 關於指標的const 用法 class a void f const a p 在vs 2017上沒有任何形式的引數傳進來 void g const a const p void k const a p int main const a p const a const p const a cons...