程式效率與組織方式有關(圖書館擺書 二分查詢)
程式效率與操作有關(迴圈和遞迴(遞迴雖簡單不過耗費大量空間))
程式效率與演算法有關(多項式求和 秦九韶要比普通演算法快乙個數量級)
測試兩種演算法的 **
#include#include#include#define max 101
#define maxl 1e7
clock_t start,stop;
double duration;
double f1(int n,double a,double x)
return p;
}double f2(int n,double a,double x)
return p;
}int main()
start = clock();
for(i=0;i<=maxl;i++)
stop = clock();
duration = ((double)(stop-start))/clk_tck/maxl;
printf("%6.2e\n",duration);
start = clock();
for(i=0;i<=maxl;i++)
stop = clock();
duration = ((double)(stop-start))/clk_tck/maxl;
printf("%6.2e\n",duration);
return 0;
}
線性結構(一對一)
樹形結構(一對多)
圖形結構(多對多)
空間複雜度(記憶體開闢了多少空間)
時間複雜度(計算了多少次乘除法)
一般考慮複雜度只考慮最壞的複雜度 而不去考慮平均複雜度
複雜度的漸進表示法
求時間複雜度
本題演算法的時間複雜度
最大子列和公升級版要求出 最大子列和的首尾
#include #include using namespace std;
int maxsubseqsum(vectornumbers, int num);
int mybegin, myend, newbegin;
int main()
int maxsubseqsum(vectornumbers, int num)
}else if (thissum < 0)
}if (maxsum == -1)
return maxsum;
}
資料結構筆記
一 鄰接矩陣 鄰接矩陣儲存使用2個陣列儲存圖的資訊 1個以為陣列儲存頂點,乙個二維陣列儲存邊的資訊 1 二維陣列中的對角線為0,以為不存在頂點到自身的邊 2 要知道某個點的出度,就是頂點vi在第i行的元素之和,入度就是該頂點所在列的元素之和 3 頂點vi的所有鄰接點就是吧矩陣中第i行元素掃瞄一遍 4...
資料結構筆記
二叉樹的遍歷操作 二叉樹的遍歷是指從根結點出發,按照某種次序 訪問二叉樹中的所有結點,使得每個結點被訪問一 次且僅被訪問一次。抽象操作,可以是對結點進行的各種 處理,這裡簡化為輸出結點的資料。前序遍歷 中序遍歷 後序遍歷 層序遍歷 查詢的基本概念 靜態查詢適用於 查詢集合一經生成,便只對其進行 查詢...
資料結構筆記
線性表 線性表順序儲存結構 線性表順序儲存結構的定義 線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。線性表順序儲存結構的優缺點 線性表的順序儲存結構,在存,讀資料時,不管是哪個位置,時間複雜度都是o 1 而在插入或刪除時,時間複雜度都是o n 這就說明它比較適合元素個...