MOOC 資料結構 第一周

2021-10-08 08:29:23 字數 581 閱讀 2498

1 .有以下用c/c++語言描述的演算法,說明其功能:

void fun(double &y,double x,int n)

}解:計算x的n次方。

2 .乙個演算法的空間複雜度是o(1),那麼執行該演算法時不需要任何空間,這個說法正確嗎?為什麼?

解:錯誤。若乙個演算法的空間複雜度為o(1),則稱此演算法為原地工作或就地工作演算法。此時是需要空間的。o(1)表示該程式所占用的空間和所用資料量無關。如當乙個演算法的空間複雜度為乙個常量,即不隨被處理資料量n的大小而改變時,可表示為o(1)。

3.乙個演算法的執行頻度為

其時間複雜度多少?

解:t(n)=o(n)。

4 .設有演算法如下:

int find(int a, int n, int x)

{ int i;

for (i=0;i1時

不妨設n=2k,即k=log2n.

t(n)=t(n/2)+1 =t(n/22)+2=t(n/23)+3=…=t(n/2k)+ k=t(n)+k=1+k=log2n+1=o(log2n)。

直接記憶:二分法的時間複雜度為o(log2n)。

MOOC學習資料結構 第一周

1.計算機所處理的資料一般具備某種內在聯絡,這是指 b a.資料和資料之間存在某種關係 b.元素和元素之間存在某種關係 c.元素內部具有某種結構 d.資料項和資料項之間存在某種關係 2.在資料結構中,與所使用的計算機無關的是資料的 a 結構。a.邏輯 b.儲存 c.邏輯和儲存 d.物理 解析 a 邏...

資料結構第一周

若乙個棧的輸入序列為1,2,3,n,輸出序列的第乙個元素是i,則第j個輸出元素是j i 1。2分 f 解析 一串資料依次通過乙個棧,並不能保證出棧資料的次序總是倒置,可以產生多種出棧序列。一串資料通過乙個棧後的次序由每個資料之間的進棧 出棧操作序列決定,只有當所有資料 全部進棧後再全部出棧 才能使資...

資料結構第一周作業

計算機在執行時,先從記憶體中取出第一條指令,通過控制器的解碼,按指令的要求,從儲存器中取出資料進行指定的運算和邏輯操作等加工,然後再按位址把結果送到記憶體中去。接下來,再取出第二條指令,在控制器的指揮下完成規定操作。依此進行下去。直至遇到停止指令。程式與資料一樣訪問,按程式編排的順序,一步一步地取出...