數據結構的基本概念

當我們閱讀數據結構的有關書籍時,常常會半知不解,其中有很大一個原因在於我們不熟悉數據結構的概念,導致和作者沒有共同語言;

數據:數據是計算機處理的“原料”,可以理解爲一個超集。例如:數字、字符串、圖片和音頻等所有能被計算機處理的東西。記住,它是一個超集,是一個廣泛的概念。

數據元素:這是一個具體的概念,可以理解爲底層的東西。例如在一個鏈表中,每一個節點就是數據元素;當然,一個鏈表的節點可以有多個數據項構成,就像一個結構題一樣,我們把構成數據元素的數據稱爲數據項

數據對象:數據對象是同一性質的數據元素的集合;

具體來說,一個圖書檢索系統,一本圖書的檢索信息就是數據元素,一本圖書的檢索信息包括書名、作者、類別和編號等,就稱這些爲數據項;至於數據,你可以管任何數據元素,數據對象或數據項都叫成數據。

接下來就是數據結構了,相信各位讀者都聽過或者學過《數據結構》這一門課或者相關的課,那什麼是數據結構呢?這裏注意:數據結構不是結構!數據機構是相互存在一種或多種關係的數據元素的集合,即有聯繫的數據對象。所以但你看到數據結構這一詞時,不要顧名思義,它不是指數據的結構,而是指有聯繫的數據對象。而我們直接用結構來代表數據的結構。

數據的結構通常有:

  •  集合
  • 線性結構                                            
  • 樹形結構
  • 圖狀結構或網狀結構

 

 

我們還可以這樣表示數據結構DS(date structure)= (D,S)

其中D是數據元素的集合,S是關係的集合;

當然:結構,特別是結構中的關係,在我們腦海中的,即在我們直觀看到的(上圖就是個例子),和在計算機內存中所存儲的結構是不一樣的;例如一個鏈表,直觀的看來是一個接着一個的節點的鏈接;但在計算機中實際實現起來確實兩碼事,在C語言中實現鏈表的時候,我們要用到指針,每個節點在內存中的存儲也不一定是順序的。

於是,根據以上討論,我們可以把結構分爲兩種:邏輯結構物理結構

顧名思義;邏輯結構就是直觀上的結構,物理結構就是在實際實現的時候,在計算機上存                                                                                                  儲的結構。

在物理結構中:我們也可以分出這樣兩種:順序存儲結構和鏈式存儲結構;

順序存儲結構就是數據在內存中是順序存儲的,代表性的例子有數組;

鏈式存儲結構就是數據是依靠指針表示數據的邏輯關係的,數據本身存儲在計算機中不一定是順序的。

 

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