資料結構與演算法 基於c語言篇

2022-02-24 12:14:09 字數 1265 閱讀 2977

學習資料結構與演算法走向深藍之路

第一章:資料結構與演算法概念型

資料結構:資料之間的相互關係,即是資料的組織形式.

基本組成:

其結構形式有四種:

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 ...