什麼是資料結構?cs界至今無標準定義。精心選擇的資料結構可以帶來效率最優的演算法。
資料結構:
資料的物件集合、組織方式(邏輯&物理)、操作集合及實現演算法。(資料的物件、組織與操作均可從邏輯和物理兩方面觀察,計算機處理資訊的關鍵是將邏輯資訊集對映到計算機的物理器件上形成物理器件的狀態集)
抽象資料型別(adt):
資料的物件集合和操作集合。(抽象是計算機求解問題的基本方式及重要手段,可使一種設計對應多種應用場景)
演算法不是程式,乙個顯然的區別是程式可以無限執行(如作業系統), 但演算法必須在有限步後終止。更重要的區別是演算法是抽象的,程式是具體的。
演算法複雜度:空間複雜度s(n)和時間複雜度t(n)。
精確地比較程式執行的步數無意義,因為兩種演算法中每步執行的時間可能不同。故在比較演算法時,只考慮巨集觀漸進性質( 如上界t(n)=o(f(n)) )。面對o
(n2)o(
n2
)複雜度的演算法時,本能反應是優化為o(
nlogn)o
(nlo
gn)。n
lognnl
og
n的演算法。
(1)習題1.9 有序陣列的插入(20 分)
**:順序表中插入元素 t(
n)=o
(n),
s(n)
=o(1
) t(n
)=o(
n),s
(n)=
o(1)
bool insert( list l, elementtype x )
else
if(x>l->data[i])
}pos = i; /*x為最小值時pos亦為i*/
for(i=l->last; i>=pos; i--)
l->data[pos] = x;
l->last++;
return
true;
}
資料結構( 版)第一章總結
程式設計的實質是資料表示和資料處理,其核心分別為資料結構和演算法。圖靈獎獲得者沃思給出一著名公式 資料結構 演算法 程式資料是資訊的載體,分為數值資料和非數值資料,資料元素是資料的基本單位。資料結構是指相互之間存在一定關係的資料元素的集合,按照視點的不同分為邏輯結構和儲存結構。演算法是對特定問題求解...
資料結構第一章
1.程式設計的實質 資料表示和資料處理。資料表示的核心是資料結構,資料處理的核心是演算法。資料結構 演算法 程式 2.資料是資訊的載體,在電腦科學中是指所以所有能 輸入到計算機中並能被識別電腦程式和處理的符號集合。資料的分類 一是整體,實數等數值資料 二是文字,聲音,圖形和影象等非數值資料。資料元素...
資料結構第一章
資料結構第一章 1.1廣播方式傳送檔案 傳送機傳送一次,所有都可接收。優 程式設計容易 傳送速度快 卻 容易丟包 1.2單播方式傳送 一次乙個 1.3改進方式 多級單播傳輸 類傳銷方式 順序儲存 陣列 鏈式 鍊錶 雜湊儲存 資料元素的儲存位置由值確定。資料元素之間的關係通過指標表達。查詢 如果i 某...