資料結構三要素:
①邏輯結構:兩種——線性結構-線性表、佇列、棧、串等;非線性結構-樹、圖等。
②物理結構(儲存結構):順序儲存結構;鏈式儲存結構。
③定義在這些結構上的操作
要素間的關係:演算法的設計依賴邏輯結構,演算法是實現依賴儲存結構。
a.定義一:資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。
b.定義二:資料結構是相互之間存在一種或多種特定關係的資料元素的集合。
c.形式定義:資料結構是乙個二元組
data_struct=
(d,s)
其中 d是乙個資料物件;s是該物件中所有成員之間的關係的有限集。(所謂「關係」就是資料的邏輯結構。如線性結構、非線性結構)
建立模型 —> 構造求解演算法 —> 選擇儲存結構 —> 編寫程式 —> 測試
ⅰ·廣義定義:資料是對客觀事物的符號表示。
ⅱ·狹義定義:在電腦科學中資料是指所有能夠輸入到計算機中並且能夠被電腦程式處理的符號的總稱。
資料的基本單位(但不是最小單位),在計算機中通常作為乙個整體考慮。
資料項是資料不可分割的最小單位。(乙個資料元素可由若干個資料項組成)
資料物件是性質相同的資料元素的集合,是資料的子集。(例如:整數集合、字母集合,各是一類資料物件)
資料 —> 資料物件 —> 資料元素 —> 資料項
資料型別是乙個值的集合和定義在這個值集上的一組操作的總稱。(設計語言中變數所具有的資料種類。例如基本型別:整型、浮點型、字元型、指標等;構造型別:陣列、結構等)
抽象資料型別(adt)是指乙個數學模型以及定義在該模型上的一組操作。
(抽象資料型別和資料型別實質上是乙個概念)
抽象資料型別用三元組描述:
(d,s,p)
其中d是資料物件,s是d上的關係集,p是對d的基本操作集。
adt抽象資料型別名adt抽象資料型別名
抽象資料型別的操作:
adt triplet
資料關係:r1=
基本操作:
inittriplet
(&t,v1,v2,v3) 初始化
destroytriplet
(&t) 銷毀
get(t,i,
&e)put
(&t,i,e)
isascending
(t)isdescending
(t)max
(t,&e)
min(t,
&e)}adt triplet
定義:演算法是指特定計算模型下,旨在解決特定問題的指令序列。(是解決問題的步驟,而不是程式)
5個特性:
①有窮性
②確定性
③可行性
④輸入⑤輸出
⑥正確性
①正確性
②可讀性
③健壯性
④效率與低儲存量要求
1、執行演算法所耗費的時間
2、執行演算法所耗費的儲存空間(主要考慮輔助儲存空間)
3、演算法應易於理解、易於編碼、易於除錯等
事後統計法
事前分析估算法(通常選用的方法)
影響演算法執行時間的因素:
1、演算法是選用策略
2、問題規模
3、編寫程式的語言
4、編譯產生的機器**質量
5、計算機執行指令的速度
時間複雜度
空間複雜度
這份筆記寫在學習過程中,其中有許多缺陷,發出來的目的一是給需要的人提供乙個可能的幫助,二是希望能夠得到大家的指導。
資料結構嚴蔚敏 第一章 緒論
三 抽象資料型別的表示與實現 四 演算法和演算法分析 總結第一章作為緒論,主要介紹了資料結構與演算法中的一些基本概念和術語。對於這些概念術語,我個人不推崇死記硬背,記住了當然好,記不住也沒關係,但是一定要做到完全理解。就算嘴上說不出來,心裡也一定要明白這個過程的含義。資料 data 是對客觀事物的符...
嚴蔚敏版 資料結構 第一章
首先,補充一下看書過程中遺漏的知識點 抽象資料型別的定義由乙個值域和定義在該值域上的一組操作組成。若按照其值的不同特性,可細分為下列3種型別 資料結構的形式定義為 資料結構是乙個二元組 data structure d,s 其中,d是資料元素的有限集,s是d上關係的有限集。抽象資料型別可以用三元組表...
資料結構 嚴蔚敏版 緒論
資料 所有能被輸入到計算機中,且能被計算機處理的符號的集合。資料元素 資料中的乙個 個體 資料結構中討論的基本單位。資料結構 帶結構的資料元素的集合。資料的邏輯結構可以分為 1.集合結構 資料元素關係 結構之間的元素同屬於乙個集合體 2.線性結構 資料元素關係 結構之間的元素存在一對一的關係 3.樹...