1單選(2分)
判斷下列**段的大o級別:
test =
0for i in
range
(n):
for j in
range
(n):
test = test + i * j
a. o(n^2)
b. o(n^3)
c. o(n)
d. o(n*log(n))
正確答案:a
2單選(2分)
判斷下列**段的大o級別:
test =
0for i in
range
(n):
test = test +
1for j in
range
(n):
test = test -
1
a. o(n^3)
b. o(n^2)
c. o(n*log(n))
d. o(n)
正確答案:d
3單選(2分)
判斷下列**段的大o級別:
for i in
range
(n):
k =2+
2
a. o(n^3)
b. o(n^2)
c. o(n)
d. o(1)
正確答案:c
4單選(2分)
判斷下列**段的大o級別:
def
function
(n):
return n+
2
a. o(n)
b. o(1)
c. o(n^2)
d. o(n^3)
正確答案:b
5單選(2分)
以下是乙個快速冪演算法:
def
pow(x, n)
:if n==0:
return
1elif n==1:
return x
elif n%2==
0:return
pow(x*x, n//2)
else
:return
pow(x*x, n//2)
*x
問它對於n的大o級別。
a. o(n)
b. o(log n)
c. o(nlog n)
d. o(1)
正確答案:b
7多選(3分)
下面的字典操作中哪些是o(1)的?
a. del my_dict[』』]
b. 『』 in my_dict
c. my_dict[』』] += 1
d. my_dict[』』] == 10
正確答案:a、b、c、d
8多選(3分)
令n為問題規模,其中解決本問題的三個演算法稱為a,b,c,他們需要的總運算次數分別是:
a: 96+108n+24n2+12n3
b: 16n+48n^3
c: 10080+168n+7n^2*log(n)
三個演算法的時間複雜度的大o級別中,以下表述正確的有:
得分/總分
a.c演算法的時間複雜度最小
b.b演算法比a演算法的時間複雜度更大
c.a演算法比b演算法的時間複雜度更大
d.a演算法和b演算法的時間複雜度相同
正確答案:a、d
Python資料結構與演算法分析(第2版)閱讀筆記
正文提取碼 fjlk 中序表示式,前序表示式,後續表示式 使用棧這種資料結構來儲存 a b c a 存入列表末端 入棧 b 存入列表末尾 入棧之前,判斷棧裡是否有高於或等於其優先順序的運算子,若有,將其彈出並存到列表末尾,把 存到列表末尾,號入棧 b 存入列表尾部帶括號的情況 a b c d e f...
資料結構與演算法 遞迴演算法(Python版)
一 整數轉換為任意進製 我們用最熟悉的十進位制分析下這個問題 十進位制有十個不同符號 convstring 0123456789 比十小的整數 轉換成十進位制,直接查表 就可以 了 convstring n 想辦法把比十大的整數,拆成一系列比十小的整 數,逐個查表,比如七百六十九,拆成 七 六 九,...
MOOC資料結構與演算法Python版 第六周測驗
1 單選 2分 下列哪個演算法使用到了分治策略?d 2單選 2分 函式值快取最適合使用哪種python中的資料型別?b 3 單選 2分 已知數列g x 滿足 根據遞推式寫出求數列值的遞迴演算法,問原始演算法與採用函式值快取的演算法時間複雜度分別為多少?a 4 單選 2分 博物館大盜問題中,若共有10...