數據結構基礎

1、基本術語

數據:數據可以定義爲基本值或值集合,例如,學生的姓名和ID,成績等就是學生的數據。
組項:具有從屬數據項的數據項稱爲組項,例如,學生的姓名由名字和姓氏組成。
記錄:記錄可以定義爲各種數據項的集合,例如,如果以學生實體爲例,那麼學生的名稱,地址,課程和標記可以組合在一起形成學生的記錄。
文件:文件是一種類型實體的各種記錄的集合,例如,如果類中有60名員工,則相關文件中將有20條記錄,其中每條記錄包含有關每個員工的數據。
屬性和實體:實體表示某些對象的類。它包含各種屬性。每個屬性表示該實體的特定屬性。
字段:字段是表示實體屬性的單個基本信息單元。

2、爲什麼需要數據結構

處理器速度:要處理非常大的數據,需要高速處理,但隨着數據逐日增長到每個實體數十億個文件,處理器可能無法處理大量數據。
數據搜索:假設商店的庫存大小是100860個商品,如果應用程序需要搜索某一特定商品,則每次需要遍歷100860個商品,這會導致搜索過程變慢。
大量請求:如果成千上萬的用戶在Web服務器上同時搜索數據,在此過程中可能在短時會有一個非常大請求而導致服務器處理不了。

3、數據結構的優點

效率:程序的效率取決於數據結構的選擇。 例如:假設有一些數據,需要執行搜索特定記錄。 在這種情況下,如果在數組中組織數據,則需要逐個元素地搜索。 因此,在這裏使用數組可能效率不高。 有更好的數據結構可以使搜索過程像有序數組,二進制搜索樹或哈希表一樣高效。
可重用性:數據結構是可重用的,即當實現了特定的數據結構,就可以在其他地方使用它。也將數據結構的實現編譯到不同客戶端使用的程序庫中。
抽象:數據結構由ADT指定,它提供抽象級別。 客戶端程序僅通過接口使用數據結構,而不涉及實現細節。

4、數據結構分類

4.1 線性結構

如果數據結構的所有元素按線性順序排列,則稱爲線性數據結構。 在線性數據結構中,元素以非分層方式存儲,除了第一個和最後一個元素,它的每個元素具有後繼元素和前導元素。

1)數組
2)鏈表
3)堆棧
4)隊列

4.2 非線性數據結構

非線性數據結構不形成序列,即每個項目或元素以非線性排列與兩個或更多個其他項目連接。 數據元素不按順序結構排列。

1)樹
2)圖

5、數據結構的操作

1)遍歷
2)插入
3)刪除
4)搜索
5)排序
6)合併

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