跳至內容

資料結構

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
二叉樹是數據結構的一種類型

計算機科學中,數據結構(英語:data structure)是計算機中存儲、組織數據的方式[1]

數據結構意味着介面封裝:一個數據結構可被視為兩個函數之間的介面,或者是由數據類型聯合組成的存儲內容的訪問方法封裝。

大多數數據結構都由數列記錄可辨識聯合引用等基本類型構成。舉例而言,可為空的引用(nullable reference)是引用與可辨識聯合的結合體,而最簡單的鏈式結構鍊表則是由記錄與可空引用構成。

數據結構可透過程式語言所提供的數據類型引用及其他操作加以實現。一個設計良好的數據結構,應該在儘可能使用較少的時間與空間資源的前提下,支援各種程式執行。[2]

不同種類的數據結構適合不同種類的應用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B樹即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。

正確的數據結構選擇可以提高演算法的效率(請參考演算法效率)。在電腦程式設計的過程中,選擇適當的數據結構是一項重要工作。許多大型系統的編寫經驗顯示,程式設計的困難程度與最終成果的質量與表現,取決於是否選擇了最適合的數據結構。

系統架構的關鍵因素是數據結構而非算法的見解,導致了多種形式化的設計方法與編程語言的出現。絕大多數的語言都帶有某種程度上的模塊化思想,透過將數據結構的具體實現封裝隱藏於使用者介面之後的方法,來讓不同的應用程序能夠安全地重用這些數據結構。C++JavaPython面向對象的編程語言可使用來達到這個目的。

因為數據結構概念的普及,現代編程語言及其API中都包含了多種預設的數據結構,例如C++標準模板庫中的容器、Java集合框架以及微軟的.NET Framework

常見的數據結構

[編輯]

參考文獻

[編輯]
  1. ^ 謝柏青; 余曉歌. 算法与数据结构. 2001年. ISBN 7-04-009446-0. 
  2. ^ 傑伊·溫格羅; 袁志鵬譯. 数据结构与算法图解. 人民郵電出版社. : 1–174. ISBN 9787115509000. 

外部連結

[編輯]