1.資料:資訊的載體,能描述客觀事物的數、字元及所有能輸入到計算機中並能被電腦程式識別及處理的符號的集合。
2.資料元素:資料的基本單位,其可由若干資料項組成,資料項是構成資料元素不可分割的最小單位。
3.資料物件:具有相同性質的資料元素的集合,是資料的乙個子集。
4.資料型別:乙個值的集合和定義在此集合上一組操作的總稱。
1)原子型別:其值不可再分;
2)結構型別:其值可再分成若干成分;
3)抽象資料型別:抽象資料組織及其與之相關的操作。
5.資料結構三要素
(1)邏輯結構(即資料元素之間的邏輯關係)
資料的邏輯分類如下圖所示:
圖 1.1 資料的邏輯結構分類圖
其中,集合:結構中,資料元素同屬乙個集合。
線性結構:資料元素之間一對一關係;
樹形結構:一對多關係;
圖狀或網狀結構:多對多關係。
(2)儲存結構(即資料結構在計算機中的表示,亦稱物理結構)
資料的儲存結構主要有順序儲存、鏈式儲存、牽引儲存及雜湊儲存。
1)順序儲存:邏輯相鄰,物理位置也相鄰。
優點:可以隨機訪問,每個元素占有最少的儲存空間;缺點:只能使用相鄰的一整塊儲存空間。
2)鏈式儲存:元素儲存位址的指標來表示元素之間的邏輯關係。
優點:不會出現碎片現象,充分利用所有儲存單元;缺點:指標佔額外空間,且只能順序訪問。
3)牽引儲存:儲存元素資訊的同時,建立索引表,表中每項的格式一般是(關鍵字,位址)。
優點:檢索速度快;缺點:多佔空間。
4)雜湊儲存:根據元素的關鍵字直接計算出該元素的儲存位址,又稱hash儲存。
優點:檢索、增加、刪除節點速度快;缺點:若雜湊函式不好,會衝突。
5.演算法(指令的有限序列)
(1)演算法的5個重要特性:有窮性、確定性、可行性、輸入及輸出。
(2)時間複雜度t(n)
t(n) =o(f(n))
(3)空間複雜度
s(n)=o(g(n))
資料結構基礎知識
時間複雜度和空間複雜度 同一問題可用不同演算法解決,而乙個演算法的質量優劣將影響到演算法乃至程式的效率。演算法分析的目的在於選擇合適演算法和改進演算法。乙個演算法的評價主要從時間複雜度和空間複雜度來考慮。1 時間複雜度 1 時間頻度 乙個演算法執行所耗費的時間,從理論上是不能算出來的,必須上機執行測...
資料結構基礎知識
一種資料的邏輯結根據需要可以表示成多種儲存結構,常用的儲存結構有順序儲存 鏈結儲存 索引儲存等,採用不同的資料結構,其資料處理的效率是不同的。線性表是一種常用的資料結構。在實際應用中,線性表都是以棧 佇列 字串 陣列等特殊線性表的形式來使用的。線性表是一種線性結構。線性表有順序儲存結構和鏈式儲存結構...
資料結構基礎知識
簡單的說,資料結構是一門研究非數值計算的程式設計問題中計算機的操作物件以及它們之間的關係和操作等的學科。描述一類非數值計算問題的數學模型不再是數學方程,而是諸如表 樹和圖之類的資料結構。資料結構 的研究不僅涉及到計算機硬體 特別是編碼理論 儲存裝置和訪問方法等 的研究範圍,而且和計算機軟體的研究有著...