数据结构
一種在計算機上能有效儲存、組織、使用資料的方式
(重定向自數據結構)
此条目需要补充更多来源。 (2024年5月13日) |
在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式[1]。
![](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.
- ^ 杰伊·温格罗; 袁志鹏译. 数据结构与算法图解. 人民邮电出版社. : 1–174. ISBN 9787115509000.