![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Binary_tree.svg/langzh-tw-640px-Binary_tree.svg.png&w=640&q=50)
資料結構
一種在計算機上能有效儲存、組織、使用資料的方法 / 維基百科,自由的 encyclopedia
在電腦科學中,資料結構(英語:data structure)是電腦中儲存、組織資料的方式[1]。
此條目需要補充更多來源。 (2024年5月13日) |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Binary_tree.svg/192px-Binary_tree.svg.png)
資料結構意味著介面或封裝:一個資料結構可被視為兩個函式之間的介面,或者是由資料類型聯合組成的儲存內容的訪問方法封裝。
大多數資料結構都由數列、記錄、可辨識聯合、參照等基本類型構成。舉例而言,可為空的參照(nullable reference)是參照與可辨識聯合的結合體,而最簡單的鏈式結構鏈結串列則是由記錄與可空參照構成。
資料結構可透過程式語言所提供的資料類型、參照及其他操作加以實現。一個設計良好的資料結構,應該在儘可能使用較少的時間與空間資源的前提下,支援各種程式執行。[2]
不同種類的資料結構適合不同種類的應用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B樹即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。
正確的資料結構選擇可以提高演算法的效率(請參考演算法效率)。在電腦程式設計的過程中,選擇適當的資料結構是一項重要工作。許多大型系統的編寫經驗顯示,程式設計的困難程度與最終成果的品質與表現,取決於是否選擇了最適合的資料結構。
系統架構的關鍵因素是資料結構而非演算法的見解,導致了多種形式化的設計方法與程式語言的出現。絕大多數的語言都帶有某種程度上的模組化思想,透過將資料結構的具體實現封裝隱藏於使用者介面之後的方法,來讓不同的應用程式能夠安全地重用這些資料結構。C++、Java、Python等物件導向的程式語言可使用類來達到這個目的。
因為資料結構概念的普及,現代程式語言及其API中都包含了多種預設的資料結構,例如C++標準模板庫中的容器、Java集合框架以及微軟的.NET Framework。
常見的資料結構
參考文獻
- 謝柏青; 余曉歌. 算法与数据结构. 2001年. ISBN 7-04-009446-0. 使用
|accessdate=
需要含有|url=
(幫助) - 傑伊·溫格羅; 袁志鵬譯. 数据结构与算法图解. 人民郵電出版社. : 1–174. ISBN 9787115509000.
外部連結
- Descriptions from the Dictionary of Algorithms and Data Structures
- Data structures course (頁面存檔備份,存於網際網路檔案館)
- An Examination of Data Structures from .NET perspective (頁面存檔備份,存於網際網路檔案館)
- Schaffer, C. Data Structures and Algorithm Analysis (頁面存檔備份,存於網際網路檔案館)