學習資料結構與演算法走向深藍之路
第一章:資料結構與演算法概念型
資料結構:資料之間的相互關係,即是資料的組織形式.
基本組成:
其結構形式有四種:
1,集合結構 2,線性結構. 3,樹形結構 4,圖形結構
在計算機中的儲存有量中形式:
順序儲存(陣列形式)和非順序儲存(鏈式儲存結構)
1.1抽象資料型別:指的是資料模型或者定義在資料模型上的一組操作
(d,r,p)
listinsert(&l,i,e):
listdelete(&l,i,e):
插入與刪除
演算法是解題步驟,是指令的有限序列,乙個問題的解決方案要以演算法為基礎.
資料結構+演算法=程式
對演算法進行度量:
演算法例子:
例1:需要額外空間
void swap(int &a,int &b)
例2void swap(i
nt &a,int &b)
演算法定理(計算時間)
定理1:
如果t1(n)=o(f(n))且t2(n)=o(g(n))那麼
1 ,t1(n)+t2(n)=max(o(f(n),o(g(n)
)2,t1(n)*t2(n)=o(f(n)*o(g(n)
定理2:
如果t(n)是乙個k次多項式,則t(n)=θ(nk)
演算法5個特徵:
1,有窮性,確定性,輸入,輸出,可行性
第二章:線性表
線性表:是同一型別的資料元素構成的一種線性資料結構
特點:由順序的線性表:由下向上新增資料,就像給桶裡加東西.
資料結構與演算法(C語言)之開頭篇
1.什麼是資料結構 資料結構是 計算機儲存 組織 資料的方式。資料結構是指相互之間存在一種或多種特定關係的 資料元素 的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存 效率。資料結構往往同高效的檢索演算法和 索引技術有關 2.資料結構的分類 資料結構分為邏輯結構和物理結構。邏輯結構 ...
資料結構與演算法篇 hash
python中dict結構用雜湊表構建,採用開放定址法解決雜湊衝突 1 雜湊函式構造方法 自己選擇某種規則,避免衝突 直接定址法 數字分析法 平方取中法 摺疊法 除留餘數法 除數為質數 2 解決衝突方法 待插入的元素按雜湊函式計算得到的位址已經被占用 開放定址法 線性探測再雜湊,位址不斷加1,2,3...
演算法與資料結構 排序篇
演算法 平均複雜度 最壞情況 原地排序 額外空間 是否穩定 選擇排序 o n 2n n2 o n2n n2 是 o 1 是氣泡排序 o n 2n n2 o n2n n2 是 o 1 是插入排序 o n 2n n2 o n2n n2 是 o 1 是歸併排序 o n lo gn nlogn nlogn ...