數據結構:是相互之間存在的一種或多種特定關係的數據元素的集合。算法
數據:是描述客觀事物的符號,是計算機中能夠操做的對象,是能被計算機識別,並輸入給計算機處理的符號集合。數據不只包括整型、實型等數值類型,還包括字符及聲音、圖像、視頻等非數值類型。數據結構
數據元素:是組成數據的、有必定意義的基本單位,在計算機中一般做爲總體處理。也被成爲記錄。spa
數據項:一個數據元素能夠由若干個數據項組成。數據項是數據不可分割的最小單位。設計
數據對象:是性質相同的數據元素的集合,是數據的子集。視頻
按照視點的不一樣,咱們吧數據結構分爲邏輯結構和物理結構:對象
邏輯結構:是指數據對象中數據元素之間的相互關係。邏輯結構分爲如下四種:效率
一、集合結構:集合結構中的數據元素除了同屬於一個集合外,他們之間沒有其餘關係;循環
二、線性結構:線性結構中得數據元素之間是一對一的關係;數據
三、樹形結構:樹形結構中的數據元素之間存在一種一對多的層次關係;異常
四、圖形結構:圖形結構的數據元素是多對多的關係
物理結構:是指數據的邏輯結構再計算機中存儲形式。數據元素的存儲結構方式有兩種:順序存儲和鏈式存儲
一、順序存儲結構:是把數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物理關係是一致的;
二、鏈式存儲結構:是把數據元素存放在任意的存儲單元裏,這組存儲單元能夠是連續的,也能夠是不連續的。
算法:算法是解決特定問題求解步驟的描述,在計算機中表現爲指令的有限序列,而且每條指令表示一個或多個操做。
算法的特性:輸入、輸出、有窮性、肯定性和可行性
一、輸入輸出:算法至少有0個或多個輸入,至少有一個或多個輸出
二、有窮性:指算法再執行有限的步驟以後,自動結束而不會出現無限循環,而且每一個步驟在可接受的時間內完成;
三、肯定性:算法的每個步驟都具備肯定的含義,不會出現二義性;
四、可行性:算法的每一步都必須是可行的,也就是說,每一步都可以經過執行有限次數完成。
算法設計的要求:
一、正確性:算法的正確性是指算法至少應該具備輸入、輸出和加工處理無歧義性、能正確反映問題的需求、可以獲得問題的正確答案;
二、可讀性:算法設計的另外一個目的是爲了便於閱讀、理解和交流;
三、健壯性:當輸入數據不合法時,算法也能作出相關處理,而不是產生異常或莫名其妙的結果;
四、設計算法應該儘可能知足時間效率高和存儲量低得需求。