資料結構筆記

2021-08-28 16:45:03 字數 1920 閱讀 2253

程式效率與組織方式有關(圖書館擺書 二分查詢)

程式效率與操作有關(迴圈和遞迴(遞迴雖簡單不過耗費大量空間))

程式效率與演算法有關(多項式求和 秦九韶要比普通演算法快乙個數量級)

測試兩種演算法的 **

#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 這就說明它比較適合元素個...