數據結構概述: 程式 = 數據結構 + 演算法 演算法:一些計算方法,解決問題的流程/步驟(順序、分支、迴圈......),通俗的說,演算法相當於邏輯,小部分已經被人們發掘出來了(這裡的小部分指的是書本上講的一些經典的解決一類問題的方法),解決問題的一種模式。 數據結構:將數據按照某一種特定的結構(方法) ...
數據結構概述:
程式 = 數據結構 + 演算法
演算法:一些計算方法,解決問題的流程/步驟(順序、分支、迴圈......),通俗的說,演算法相當於邏輯,小部分已經被人們發掘出來了(這裡的小部分指的是書本上講的一些經典的解決一類問題的方法),解決問題的一種模式。
數據結構:將數據按照某一種特定的結構(方法)去保存(數據的存儲方法)。
-
幾個基本概念
- 數據(data)是對客觀事物的符號表示。在電腦科學中是指所有能夠輸入電腦中並且能夠被電腦程式處理的符號的總稱。(使用變數名錶示實際問題中的數據)。
- 數據元素(data element)是數據的基本單元,在電腦中通常作為一個整體進行考慮和處理。
- 一個數據元素可以由若幹個數據項(data item)組成,數據項是數據不可分割的最小單元。
- 數據對象(data object)是性質相同的數據元素的集合。
- 數據分為元數據和用戶數據
- 元數據是用來管理用戶數據的
- 用戶數據問題中本身的一些數據
-
struct student { int num char name[32]; ... }; //元數據 student student class[3]; //數據對象(用戶數據) class[0]; //數據元素 class[0].num; //數據項
-
數據結構
- 數據結構:不僅要保存數據,而且還要保存數據和數據之間的關係。
- D (data數據:元數據,用戶數據)
- S(structure結構:數據元素之間的關係)
- 根據數據元素之間的不同關係,通常有4類基本結構
- 集合:結構中的數據元素,除了同屬於一個集合,沒有其他的關係
- 線性結構:數據元素之間的關係是線性的,連成一條直線,一一對應的關係
- 樹形結構(層次結構)
- 網狀結構(圖論)
- 數據結構的形式定義為:數據結構是一個二元組
- Data_Structure = {D, S}; D是數據元素的有限集,S是數據元素之間的關係。
- 定義的關係描述的是數據元素之間的邏輯關係,因此又稱數據的邏輯結構。
- 數據在電腦中存儲又稱為數據的物理結構,又稱為存儲結構。
- 數據結構主要研究數據元素之間的邏輯關係,至於物理關係是怎麼樣的,無所謂,只要能夠正確的表達邏輯關係就可以了。
- 數據結構:不僅要保存數據,而且還要保存數據和數據之間的關係。