数据结构:修订间差异
删除的内容 添加的内容
加入{{Refimprove}}並移除{{Unreferenced}}标记 |
无编辑摘要 |
||
第18行: | 第18行: | ||
正確的数据结构選擇可以提高[[演算法]]的效率(請參考[[演算法效率]])。在[[计算机程序|電腦程式]]设计的過程中,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,[[程式設計]]的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 |
正確的数据结构選擇可以提高[[演算法]]的效率(請參考[[演算法效率]])。在[[计算机程序|電腦程式]]设计的過程中,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,[[程式設計]]的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 |
||
[[系統架構]]的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与[[编程语言]]的出现。绝大多数的语言都带有某种程度上的[[模块 (程序设计)|模块化]]思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。[[C++]]、[[Java]]、[[Python]]等[[面向对象的程序设计|面向对象]]的编程语言可使用[[类 (计算机科学)]]来達到這個目的。 |
[[系統架構]]的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与[[编程语言]]的出现。绝大多数的语言都带有某种程度上的[[模块 (程序设计)|模块化]]思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。[[C++]]、[[Java]]、[[Python]]等[[面向对象的程序设计|面向对象]]的编程语言可使用[[类 (计算机科学)|类]]来達到這個目的。 |
||
因为数据结构概念的普及,现代编程语言及其[[运行环境|API]]中都包含了多种預設的数据结构,例如 |
因为数据结构概念的普及,现代编程语言及其[[运行环境|API]]中都包含了多种預設的数据结构,例如C++[[标准模板库]]中的容器、[[Java集合框架]]以及微软的[[.NET Framework]]。 |
||
== 常见的数据结构 == |
== 常见的数据结构 == |
2024年5月13日 (一) 06:58的最新版本
此條目需要补充更多来源。 (2024年5月13日) |
在计算机科学中,数据结构(英語:data structure)是计算机中存储、组织数据的方式[1]。
数据结构意味着介面或封装:一个数据结构可被视为两个函数之间的介面,或者是由数据类型联合组成的存储内容的访问方法封装。
大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可為空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。
数据结构可透过程式语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支援各種程式執行。[2]
不同种类的数据结构适合不同种类的应用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B树即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。
正確的数据结构選擇可以提高演算法的效率(請參考演算法效率)。在電腦程式设计的過程中,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,程式設計的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。
系統架構的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类来達到這個目的。
因为数据结构概念的普及,现代编程语言及其API中都包含了多种預設的数据结构,例如C++标准模板库中的容器、Java集合框架以及微软的.NET Framework。
常见的数据结构[编辑]
参考文献[编辑]
- ^ 谢柏青; 余晓歌. 算法与数据结构. 2001年. ISBN 7-04-009446-0.
- ^ 杰伊·温格罗; 袁志鹏译. 数据结构与算法图解. 人民邮电出版社. : 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 (页面存档备份,存于互联网档案馆)
|
|
|
|
|