相比用迴圈函式,遞迴函式會占用較多的空間(解決問題方法的效率跟空間的利用效率有關),需要同時儲存遞迴呼叫的所有函式,直到呼叫到結束,才釋放儲存空間。
計算多項式時,利用結合律f(x)=a_0+x(a_1+x(…(a_(n-1)+x(a_n ))) (秦九韶演算法),所需時間比階乘演算法少,加減法比乘除法快很多。
抽象資料型別:物件導向的語言更加好定義
分析複雜度t(n)時,有「最壞情況複雜度」和「平均複雜度」,常用最壞情況複雜度。
大o表示法表示的複雜度的上界,ω(n)表示複雜度的下界,θ(n)表示上下界相等。
複雜度排序:1 < log n < n < n log n < n2
< n3
< 2 n
< n!
兩個演算法拼在一起時,複雜度相加;兩演算法巢狀時,複雜度相乘。
for迴圈複雜度為迴圈次數乘以迴圈體**複雜度,if-else結構複雜度為if條件判斷和兩個分支中,複雜度最大的那個。
#define maxsize 10
#define notfound 0
typedef
int elementtype;
typedef
int position;
typedef
struct lnode *list;
struct lnode
;list readinput()
;/* 裁判實現,細節不表。元素從下標1開始儲存 */
position binarysearch
( list l, elementtype x )
;int
main()
position binarysearch
(list l, elementtype x)
return position;
}
PTA資料結構習題(浙江大學)
感謝疫情期間pta開放免費練習,趁著這個機會補一下資料結構的代 include include include struct stud node struct stud node createlist struct stud node deletelist struct stud node head...
浙江大學 資料結構 堆的操作
題目 05 樹7 堆中的路徑 25分 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數nn n和mm m 1000 le 1000 1 000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10...
資料結構mooc浙江大學附帶習題第一課
中國大學mooc 陳越 何欽銘 資料結構 2021春 這道題要理解的地方就是 符號的使用,以及結構體型別的定義和指向結構體型別資料的指標。之後的演算法就不算難的隨便看一看吧 include include define maxsize 10 define notfound 0 typedef int...