數據結構學習筆記--概念篇

程序設計 = 數據結構+算法

數據結構經常使用術語

數 據: 客觀事物的符號表示,在計算機中指全部能輸入到計算機並能被計算機程序進行處理的符號總稱。如:文字、圖片、聲音等。算法

數據元素: 數據的基本單位。在計算機程序中一般做爲一個總體考慮和處理,如:信息表中的一行信息、樹中的一個節點、圖中的一個定點等數組

數 據 項: 不可分割的最小單位。一個數據元素一般由若干個數據項組成數據結構

數據對象: 具備相同性質的數據元素的集合設計

數據結構

(一)數據的邏輯結構(數據元素之間的邏輯關係)

集合:結構中的數據元素之間除了「同屬於一個集合」的關係外,別無其餘關係,元素之間爲鬆散關係指針

線性結構:結構中的數據元素存在一對一的關係,除第一個和最後一個元素外,其餘每一個數據元素都有且僅有一個直接前驅和一個直接後繼。對象

樹形結構:數據元素之間存在一對多的關係。一個數據元素能夠與一個或多個元素存在關係,並且有層次之分,其結構形式如倒立生長的樹。索引

圖狀結構或網狀結構:數據元素之間存在多對多的關係,不存在層次關係。在這種關係中,數據之間的關係不受任何限制圖片

(二)數據的存儲結構(物理結構)

順序存儲結構:將邏輯上相鄰的元素(節點)存儲在物理位置上也相鄰的存儲單元中,元素之間的邏輯關係由存儲單元的鄰接關係表示。一般用數組來實現內存

鏈式存儲結構:不要求邏輯上相鄰的元素(節點)在物理位置上也相鄰,而是在節點中藉助指針域存儲與該節點邏輯上相鄰元素在內存中的地址來實現節點間的邏輯關係 索引存儲結構:在存儲元素信息的同時,還創建附加的索引表。程序設計

散列存儲結構:根據元素的關鍵字直接計算出該元素的存儲地址。

(三)數據的運算

定義:對數據元素施加的操做,定義在數據的邏輯結構上的,每一種邏輯結構都有一個運算的集合。

算法應該具有的5個特性:有限性、肯定性、輸入、輸出、可行性。

算法應該考慮的4個目標:正確性、可讀性、健壯性、高效率與低存儲量需求

相關文章
相關標籤/搜索