ReviewForJob(1)数据结构与算法分析引论
生活随笔
收集整理的這篇文章主要介紹了
ReviewForJob(1)数据结构与算法分析引论
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【1】 數學基礎
1.1)本書將使用以下4個定義:?
?
對上述定義的分析(Analysis):
1.2)我們引入了相對增長率的概念, 并將其應用到算法分析;?
1.3)比較1000N 與 N^2 的大小??
雖然N 較小時,1000N 大于 N^2 ,但 N^2 以更快的速度增長,因為N^2 最終將更大;?
1.4)這種情況下,N=1000 是個轉折點;?
第一個定義說,最后總會存在某個點 n0, 從它以后 cf(N) 總是至少與 T(N)一樣大, 從而忽略掉常數因子, 則f(N) 至少與 T(N) 一樣大;?
1.5)上界與下界?
當我們說T(N)=O(f(N))時,我們是在保證函數T(N)是在不快于f(N)的速度增長;因此f(N)是T(N)的一個上界, 也可以說f(N)=Ω(T(N))意味著T(N)是f(N)的一個下界;?
1.6)直觀上說?
?
1.7)我們需要掌握的結論為:?
?
1.8)以上信息足以按照增長率對大部分常見的函數進行分類(如下圖)?
【3】遞歸荔枝 荔枝1)F(0)=0 且 F(x)=2F(x-1)+x^2? #include <stdio.h>// compute the expr F(0)=0 且 F(x)=2F(x-1)+x^2 int func(int x) {if(x==0){return 0;}return 2*func(x-1) + x*x; }int main() {int x = 1; for(;x<10;x++){printf("func(%d) = %d \n", x, func(x));} } 荔枝2)打印整數: 1234 -> 1 2 3 4
#include <stdio.h>// output the single integer towards given x. // ex. 1234 should output as 1 2 3 4. void printOutput(int x) {if(x>10){printOutput(x/10);}printf("%d ", x%10); }int main() {int x[] = {12345, 123456, 1234567, 12345678, 123456789};int length = 5;int i = 0;for(;i<length;i++){printf("printOutput(%d) = ", x[i]);printOutput(x[i]);printf("\n");} }
總結
以上是生活随笔為你收集整理的ReviewForJob(1)数据结构与算法分析引论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 习以为常的电脑键盘
- 下一篇: ReviewForJob(2)算法分析