快速上手數據結構

在這裏插入圖片描述
在這裏插入圖片描述

數據結構用於研究數據的表示、存儲和運算,數據的表示就是數據的邏輯結構,數據的存儲就是數據的存儲結構(物理結構),數據的運算就是算法


數據結構是一門討論"描述現實世界實體的數學模型(非數值計算)及其上的操作在計算機中如何表示和實現"的學科

主要用來研究數據(特別是非數值類型數據)的組織、存儲和運算方法。
如圖所示:

在這裏插入圖片描述


下面簡介一下數據結構中涉及到得到概念:


程序設計:爲計算機處理問題編制的一組指令集合;
算法:處理問題的策略;
數據:描述客觀事物的集合、字符以及能輸入機器且能被處理的各種符號集合;
數據包含:整型、實型、布爾型、圖像、字符、聲音等一切可以輸入到計算機中的符號集合;
數據元素(Data Element):組成數據的基本單位,是數據集合的個體,在計算機中通常作爲一個整體進行考慮和處理;
數據項(Data Item):有獨立含義的最小單位;
數據對象(Data Object):性質相同的數據元素的集合,是數據的一個子集;
數據結構(Data Structure):指相互之間存在一種或多種特定的關係的數據元素集合,是帶有結構的數據元素的集合,它指的是數據元素之間的關係,即數據的組織結構;

在這裏插入圖片描述

一個數據是由若干個數據元素組成的,每個數據元素又是由若干個數據項組成;


數據類型(Data Type):一組性質相同的值的集合以及定義在這個值集合上的一組操作的總稱,一般有以下兩種:

原子類型:其值不可分割,如C語言中的標準類型,指針類型;
結構類型:其值由若干個成分按照某種結構組成的,因此是可以分解的,並且它的成分可以是結構的,也可以是非結構的;

抽象數據類型(Abstract Data Type):基於一類邏輯關係的數據類型以及定義在這個類型上的一些操作,確定了一個模型,但隱藏了其實現細節,定義了一組運算,但隱藏了其實現過程

抽象數據類型(Abstract Data Type)實現方法:
1."包"模型設計;
2.固有類型面向過程;
3.面向對象程序設計;
特徵:
1.數據抽象:用ADT描述程序處理的實體時,強調的是其本質的特徵,用其所能完成的功能以及它和外部用戶的接口;
2.數據封裝:將實體的外部特性和其內部實現細節分離,並對其外部用戶隱藏其內部實現細節;

數據結構有線性結構、樹結構、圖結構和集合結構:

線性結構:數據結構中的元素之間存在着一對一的線性關係(順序表、鏈表、棧、隊列、串、數組和廣義表)
集合結構:結構中的數據元素之間除了同屬於一個集合的關係外無任何其他關係;
圖狀或網狀結構:結構中的數據元素之間存在着多對多的任意關係;
樹形結構:結構中的數據元素之間存在着一對多的層次關係;

邏輯結構:數據元素之間邏輯關係的描述;
存儲結構:邏輯結構在計算機中的存儲映像,是邏輯結構在計算機中的實現,它包含數據元素的表示和關係的表示(順序結構,鏈式結構);
數據元素的表示:用若干個二進制"位串"表示

總的來說:按照某種邏輯關係組織的一批數據,按一定的映像方法把它存放在計算機的存儲器中,並在這些數據上定義了一個運算的集合,就叫做數據結構

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章