演算法導論課第一章後題

2021-09-28 21:58:06 字數 2434 閱讀 2918

練習

1.1-1:排序例子:成績排名。凸殼例子:給物品製作包裝盒,即為取物品的乙個凸殼。

1.1-2:產品的良品率

1.1-3:集合,優點是元素無重複,可以快速擴容,缺點是元素無序不易查詢

1.1-4:相似:都是交通圖問題,都是求總共走的路程最短。不同:旅行商問題任兩點可以連線(只要不重複),而最短路徑問題要求在只能連線相鄰的點。旅行商問題要求連線所有點,不遺漏不重複,而最短路徑只要求連通指定兩點的最短距離即可,點可以重複但是線段不可以。

1.1-5:排序求成績第一名,只有最佳解才行。旅行商人問題的次佳解也可以接受。

練習

n =

1a =

100*

pow(n,2)

b =pow(2

,n)while a >= b:

n=n+

1 a =

100*n*n

b =pow(

2,n)

print

(n)`

結果為15,即當n大於15後100n^2更快。

思考題1-1:

1s1min

1h1day

1month

1year

1centry

lgne^1000

e^60000

e^3600000

e^86400000

e^2592000000

e^31536000000

e^3153600000000

n^(1/2)

1000^2

60000^2

3600000^2

86400000^2

2592000000^2

31536000000^2

3153600000000^2

n1000

60000

3600000

86400000

2592000000

31536000000

3153600000000

nlgn

1000*lg1000

60000*lg60000

3600000*lg3600000

86400000*lg86400000

2592000000*lg259200000

31536000000*lg31536000000

3153600000000*lg3153600000000

n^21000^(1/2)

60000^(1/2)

3600000^(1/2)

86400000^(1/2)

259200000^(1/2)

31536000000^(1/2)

3153600000000^(1/2)

n^31000^(1/3)

60000^(1/3)

3600000^(1/3)

86400000^(1/3)

259200000^(1/3)

31536000000^(1/3)

3153600000000^(1/3)

2^nlog1000/log2

log60000/log2

log3600000/log2

log86400000/log2

log2592000000/log2

log31536000000/log2

log3153600000000/log2n!6

891112

1315

import math 

defjiecheng

(n):

a =1while n >=1:

a = a*n

n = n-

1return a

defcal

(n):

n=1 ls =

["math.log(n)"

,"pow(n,1/2)"

,"n"

,"n*math.log(n)"

,"pow(n,2)"

,"pow(n,3)"

,'pow(2,n)'

,'jiecheng(n)'

] key =

for i in

range

(len

(ls)):

n=1 a =

eval

(ls[i]

)while a <= n:

n=n+

1 a =

eval

(ls[i])1

)return key

n =eval

(input

("輸入時間計算式(單位為毫秒):"))

print

(cal(n)

)

**如上,但是因為電腦計算力的問題,答案算不出來。但是手算能算。

演算法導論第一章課後題

1.1 1給出現實生活中需要排序的乙個例子或者現實生活中需要計算凸殼的乙個例子。答 一次數學考試之後按成績高低進行排名。1.1 2 除速度外,在真實環境中還可能使用哪些其他有關效率的量度?答 演算法的精度 占用的記憶體大小 魯棒性 問題的解決程度。1.1 3 選擇一種你以前已知的資料結構,並討論其優...

演算法導論第一章

第一章 演算法在計算中的作用 1.1演算法 非形式地說,演算法就是任何良定義的計算過程,該過程取某個值或值的集合作為輸入並產生某個值或值的集合作為輸出。這樣,演算法就是把輸入轉換成輸出的計算步驟的乙個序列。若對每個輸入例項演算法都以正確的輸出停機,則稱該演算法是正確的,並稱正確的演算法解決了給定的計...

第一章 導論

c 是物件導向的高階語言,將客觀事物都看作物件,將同類物件進行抽象,形成類,類封裝起來只暴露介面,符合人類的思維方式。用源語言寫的,有待翻譯的程式 源程式通過翻譯程式加工以後生成的機器語言程式 連線目標程式以及庫中的某些檔案,生成乙個可執行檔案 加一位,0表示正,1表示負,符號絕對值表示的編碼,但是...