一、什麼是數據結構
數據結構:是指相互之間存在着一種或多種特定關係的數據元素的集合。 程序=數據結構+算法
數據的邏輯結構:指反映數據元素之間的邏輯關係的數據結構,其中的邏輯關係是指數據元素之間的前後件關係,而與他們在計算機中的存儲位置無關。
數據的物理結構:指數據的邏輯結構在計算機存儲空間的存放形式
數據結構的運算
⑴ 建立(Create)一個數據結構;
⑵ 消除(Destroy)一個數據結構;
⑶ 從一個數據結構中刪除(Delete)一個數據元素;
⑷ 把一個數據元素插入(Insert)到一個數據結構中;
⑸ 對一個數據結構進行訪問(Access);
⑹ 對一個數據結構(中的數據元素)進行修改(Modify);
⑺ 對一個數據結構進行排序(Sort);
⑻ 對一個數據結構進行查找(Search)。
數據(data)—所有能輸入到計算機中去的描述客觀事物的符號
數據元素(data element)—數據的基本單位,也稱節點(node)或記錄(record)
數據項(data item)—有獨立含義的數據最小單位,也稱域(field)
數據結構(data structure)—數據元素和數據元素關係的集合
二、什麼是算法
算法(a1gorithm)是對特定問題求解步驟的精確描述,它是指令或語句的有限序列。
一個算法一般具有下列5個重要特性:
(1)有窮性:一個算法必須總是在執行有窮步之後結束,即必須在有限時間內完成。
(2)確定性:算法中的每一條指令必須有確切的含義,不能產生多義性。
(3)可行性:算法中的每一條指令必須是切實可行的,即原則上是可以通過已經實現的基本運算執行有限次來實現的。
(4)輸入:一個算法有零個或多個輸人,這些輸人取自於特定對象的集合。
(5)輸出:一個算法有一個或多個輸出,這些輸出是同輸入有某個特定關係的量。
在計算機科學研究中,算法與數據結構是相輔相成的。解決某一特定類型問題可以選定不同的數據結構,而且選擇恰當與否直接影響算法的效率。
反之,一種數據結構的優劣要由實現各種操作時的算法來體現