数据结构

✍ dations ◷ 2025-03-06 02:17:30 #计算机科学,理论计算机科学,数据结构

在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。

数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。

大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可为空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。

数据结构可透过编程语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支持各种程序运行。

不同种类的数据结构适合不同种类的应用,部分数据结构甚至是为了解决特定问题而设计出来的。例如B树即为加快树状结构访问速度而设计的数据结构,常被应用在数据库和文件系统上。

正确的数据结构选择可以提高算法的效率(请参考算法效率(英语:algorithmic efficiency))。在计算机程序设计的过程中,选择适当的数据结构是一项重要工作。许多大型系统的编写经验显示,程序设计的困难程度与最终成果的质量与表现,取决于是否选择了最适合的数据结构。

系统架构的关键因素是数据结构而非算法的见解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于用户界面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来达到这个目的。

因为数据结构概念的普及,现代编程语言及其API中都包含了多种默认的数据结构,例如 C++ 标准模板库中的容器、Java集合框架以及微软的.NET Framework。

相关

  • 阿拔斯王朝阿拔斯王朝(阿拉伯语:العبّاسيّون‎)是哈里发帝国的一个王朝,也是阿拉伯帝国的第二个世袭王朝。于750年取代倭马亚王朝,定都巴格达,直至1258年被旭烈兀西征所灭。阿拔
  • 培根弗兰西斯·培根,第一代圣阿尔本子爵(Francis Bacon, 1st Viscount St Alban,1561年1月22日-1626年4月9日),著名英国哲学家、政治家、科学家、法学家、演说家和散文作家,是古典经验
  • 沃森詹姆斯·杜威·沃森(英语:James Dewey Watson,1928年4月6日-),美国分子生物学家,20世纪分子生物学的牵头人之一。与同僚佛朗西斯·克里克因为共同发现DNA的双螺旋结构,而与莫里斯·
  • 园林工具园艺工具是从事园艺工作或作为兴趣般的业余性活动时使用的工具。部分工具于农耕时亦会使用。最早手动工具由木材、燧石和骨头所组成,然而,工具为了使能更加持久高效切削,后来慢
  • 美国黑人民权运动非裔美国人白人优越主义非裔美国人民权运动(英文:Civil rights movement),是美国民权运动的一部分,是非裔美国人为争取与白人同等的地位而发起的群众性斗争运动,乃是经由非暴力的
  • 黟县.mw-parser-output ruby.zy{text-align:justify;text-justify:none}.mw-parser-output ruby.zy>rp{user-select:none}.mw-parser-output ruby.zy>rt{font-feature-settings:
  • 陶器,古称瓦,是用黏土或陶土经捏制成形后烧制而成的器具。陶器历史悠久,在新石器时代就已初见简单粗糙的陶器。陶器在古代作为一种生活用品,在现在一般作为工艺品收藏。目前已知
  • 漏尿漏尿(日语:お漏らし/おもらし/オモラシ;罗马化:omorashi)是主要流行于日本的恋物次文化,借由自己尿急或因他人尿急而引起性刺激。对这样的恋物者而言,当他人因憋不住而尿失禁时就是他
  • 丹麦区丹麦法区(英语:Danelaw)是指盎格鲁-撒克逊编年史中记载的盎格鲁-撒克逊英格兰时期英格兰的被一块丹麦日耳曼人控制并施行丹麦律法的区域。丹麦法区源自于维京人于西元九世纪的
  • 亚历山大·贝克曼亚历山大·贝克曼(俄语:Александр Беркман)(1870年11月21日-1936年6月28日)是一个以政治激进主义、写作著称的无政府主义者。他是二十世纪无政府主义活动的主要倡