MOOC資料結構(陳越 何欽銘)第一講 基本概念

2021-08-27 14:02:31 字數 1906 閱讀 2225

**for迴圈**

**「+=」的****

例:寫程式實現乙個函式printn,使得傳入乙個正整數為n的引數後,能順序列印從1到n的全部正整數

——迴圈實現

#includevoid printn(int n)//printn的乙個迴圈函式

}int main()

——遞迴實現

#includevoid printn(int n)

return;

}int main()

int i;

for(i=0; i<3; i++) 強調內容

// i=0是初始化部分;i<3是迴圈判斷條件部分(當滿足此條件時才進入執行for迴圈中的語句);i++是執行完迴圈體語句後的操作

// 上面的for語句就是控制輸出3次helloworld

a+=b等效於 a=a+b //將b的值取出再取出c的值,相加然後賦給b

a-=b 等效於 a=a-b

a*=b 等效於 a=a*b

pjz/=n 等效於 pjz=pjz/n

a%=b等效於 a=a%b

例:寫程式計算給定多項式在給定點x處的值

——直接地表達方式

double f1(int n,doube a,double x)

——將式子轉換為如下的表達方式

double f2(int n; double a;double x)

clock():捕捉從程式開始執行到clock()被呼叫時所耗費的時間,這個時間單位是clock tick,即「時鐘打點」。常數clk_tck(或clocks_per_sec):機器時鐘每秒所走的時鐘打點數。

#include #include clock_t start,stop;

/*clock_t是clock()函式返回的變數型別*/

double duration;

/*記錄被測函式執行時間,以秒為單位*/

int main ()

例:寫程式計算給定多項式

#include#include#include/*因為pow函式*/

clock_t start,stop;

double duration;

#define maxn le7/*多項式最大項數,即多項式階數+1*//*被測函式最大重複呼叫次數*/

double f1(int n,double a,double x);

double f2(int n,double a,double x);

int main()

double f2(int n,double a,double x)

int main()

{ int i;

double a[maxn];/*儲存多項式的係數*/

所以到底什麼是資料結構??

抽象資料型別

只描述資料物件集合相關操作集「是什麼」,並不涉及「如何做到」的問題

《資料結構》 陳越Mooc

第一章 基本概念 1.1什麼是資料結構 解決問題方法的效率跟資料的組織方式 空間的利用效率 演算法的巧妙程度有關。資料結構 資料物件在計算機中的組織方式。1 邏輯結構 個人存放資料的方式,如線性結構,樹狀結構 2 物理儲存結構 資料物件在機器中的放法 演算法 資料物件必定與加在其上的操作相關聯,這些...

浙大 資料結構 陳越 第一講 基本概念

資料結構和演算法 例子1.書架擺書 總結 當問乙個資料怎麼組織的時候,其實跟這個資料的規模有關係 不一樣規模的問題,處理起來的難度不一樣,解決方法的效率,跟資料的組織方式有。關 例子2.寫乙個函式,輸入正整數n,順序列印1 n的全部正整數。第一種方法for迴圈 第二種遞迴 總結 雖然遞迴簡潔,但是遞...

MOOC 資料結構 第一周

1 有以下用c c 語言描述的演算法,說明其功能 void fun double y,double x,int n 解 計算x的n次方。2 乙個演算法的空間複雜度是o 1 那麼執行該演算法時不需要任何空間,這個說法正確嗎?為什麼?解 錯誤。若乙個演算法的空間複雜度為o 1 則稱此演算法為原地工作或就...