資料結構 - 概述及其術語

IT规划师發表於2024-09-23

經過上一章節《資料結構與演算法之間有何關係?》的闡述,相信大家對資料結構多少有了點了解,今天我們將進入資料結構的正式學習中。

在電腦科學中,資料結構是一種資料管理、組織和儲存的格式。它是相互之間存在一種或多種特定關係的資料元素的集合。

在計算機中一個靜態資料是沒有靈魂的,只有實際使用起來才有意義,而對於一個資料使用必然會面臨三個問題:怎麼儲存,用什麼承載,怎麼處理。而這不正好和儲存、組織、管理所對應嗎。這也正是資料結構所研究關注的三要素。

01、三要素

1、物理(儲存)結構

怎麼儲存是指資料最終怎麼儲存在計算機磁碟上的,這也是我們經常說的物理結構也叫儲存結構。

就如同我們收納內務一樣,可能有的人收納的整整齊齊,按照一定順序整理,有的人收納的這一塊那一塊,感覺毫無章法。而我們也可以根據資料在記憶體中是否為連續地址儲存分為順序儲存和非順序儲存,常見的順序儲存有順序儲存結構,非順序儲存有鏈式儲存結構、索引儲存結構和雜湊儲存結構。

2、邏輯結構

用什麼承載是指資料從計算機磁碟上取出後,要放哪呢或者說用什麼工具把它送給後續的應用使用呢。而這個承載體在我們高階語言就是一個類,一個資料物件,其根源就是我們現在說的資料結構,而此時我們關注的是這個類或這個資料物件資料是怎麼組織的,是一對一、一對多、多對多亦或其他關係,而這種關係是純粹的資料之間的關係無關資料實際儲存情況就是邏輯上的一種關係,因此稱為邏輯結構。

同樣的邏輯結構也有順序之分,可以分為線性結構與非線性結構。線性結構有陣列、連結串列、棧、佇列等,非線性結構有樹結構、圖結構等。

3、資料運算

怎麼處理指當資料已經從計算機磁碟上取出後,怎麼加工使用,也就是資料運算,我們可以根據實際業務需求對資料進行各種加工處理,最得到我們想要的結果,這是處理就是我們常說的增刪改查排序等操作。

如果說物理(儲存)結構是資料結構的家,邏輯結構就是資料結構的骨架,那麼資料運算就是資料結構的靈魂,使得資料可以真正產生價值。

02、術語

1、資料

資料是資訊的載體,是所有可以錄入到計算機中並且可以被識別處理的數字、字元、符合等合集。包括但不限於整數、小數、字母、符號、圖片、音訊、影片等。

2、資料項

資料項是資料的最小單位,比如我們在設計學生實體的時候定義學號、姓名、年齡等都是資料項。

3、資料元素

我們實際使用中經常會把多個資料項組合在一起,作為一個整體進行統一處理,這樣的組合就形成了資料的基本單位資料元素。

比如學生表中每一行資料就是一個資料元素。

4、資料物件

資料物件是指有特定屬性和操作的資料的集合。資料物件由多個資料元素組成,資料元素是資料物件的例項。

5、抽象資料型別

抽象資料型別是一個定義,它是抽象了資料的特性及行為並做了相關定義,但是沒有具體實現。

比如說棧作為一個抽象資料型別,定義如“入棧、出棧”等操作,但是具體底層是使用陣列實現還是連結串列實現,使用者並不關心。

後面我們繼續將對:陣列、連結串列、跳錶、棧、佇列、樹、堆、雜湊、圖九類資料結構進行深入學習,感興趣的可以持續關注。

:測試方法程式碼以及示例原始碼都已經上傳至程式碼庫,有興趣的可以看看。https://gitee.com/hugogoos/Planner

相關文章