資料結構與演算法Python版 第五周測驗

2021-10-13 16:22:54 字數 2327 閱讀 3212

1單選(2分)

以下哪項不是遞迴的三定律之一?

a. 對函式執行結果進行快取

b. 有乙個基本結束條件

c. 演算法呼叫自身

d. 能夠不斷減小問題規模

正確答案:a

3單選(2分)

使用進製轉換函式:

def

tostr2

(n,base)

: convertstring=

'0123456789abcdef'

if n ==0:

return

''return tostr2(n // base, base)

+ convertstring[n % base]

將數字135轉換為三進製「12000」的過程中,函式共被呼叫了多少次(包含初始呼叫)?

a. 4

b. 5

c. 6

d. 3

正確答案:c

4單選(2分)

若定義實心等邊三角形為0階謝爾賓斯基三角,現給定乙個邊長為1的3階謝爾賓斯基三角,請問它的面積更接近以下哪個數字?

a. 0.1370079

b. 0.1826772

c. 0.4330127

d. 0.2435696

正確答案:b

5單選(2分)

以下是使用遞迴方式實現的圓括號匹配函式:

def

match

(s, n=0)

:if s:

if s[0]

=='('

: n +=

1else

: n -=

1if n <0:

return

false

return match(s[1:

], n)

else

:return n ==

0

請問以下哪個輸入中可能出現引數為match("((()))", 3)的函式呼叫?

a. 「(((()((()))」

b. 「((()))(((」

c. 「((()))」

d. 「()((()))」

正確答案:a

6多選(3分)

給定繪製分形樹函式:

def

tree

(branch_len)

: t.pendown(

) t.forward(branch_len)

t.penup(

)if branch_len >5:

t.left(20)

tree(branch_len -5)

t.right(40)

tree(branch_len -5)

t.left(20)

t.backward(branch_len)

其中t為海龜畫筆物件。

在呼叫函式tree(50)時,下列哪些說法是正確的?

a. 樹梢共512個

b. 組成樹的線段共1023條

c. 樹梢距樹根距離為275

d. 樹梢距樹根距離為270

正確答案:a、b、c

7多選(3分)

以下函式用於可用於求方程的近似解,其中引數f為乙個輸入、輸出均為數字的函式

def

solve

(f, x1, x2)

: mid =

(x1 + x2)/2

if f(mid)==0

orabs

(x1 - x2)

<1e-

8:return

# elif f(mid)

* f(x1)

>0:

return

#else

:return

#

如何補全該函式使其可以正常使用?

a.c處應填:mid

b.c處應填:solve(f, mid, x2)

c.c處應填:solve(f, x1, mid)

d.b處應填:solve(f, mid, x2)

正確答案:c、d

8多選(3分)

以下哪些問題可以用遞迴演算法求解?

a. 影象、語義識別

b. 查詢有序列表中某元素是否存在

c. 繪製mandelbrot集的圖形

d. 求斐波那契數列第n項的值

正確答案:b、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...