数据结构

✍ dations ◷ 2025-05-06 11:59:59 #计算机科学,理论计算机科学,数据结构

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

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

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

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

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

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

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

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

相关

  • 法兰西第三共和国法兰西第三共和国(法语:La Troisième République)是在1870年至1940年统治法国的政权,是首个稳固建立的共和政府。共和国采用议会制民主模式并在1870年9月4日成立,在第二帝国因
  • 过热在物理学中,过热(又称沸腾延迟,英语: Superheating)是指液体被加热到沸点以上的温度而不沸腾的现象。在干净的容器中加热同相物质会出现过热现象,同时要避免成核现象的出现。需注
  • 加拿大原住民加拿大原住民,他们是在1982年宪政法案第25和35节中所认定的原住民族群,分别是第一民族、因纽特人以及梅蒂人。根据2006年的人口普查,加拿大总人口超过33,570,000人,其中包含3.8%
  • 瀑布瀑布(waterfall),指河流或溪水经过河床纵断面的显着陡坡或悬崖处时,成垂直或近乎垂直地倾泻而下的水流景象。在地质学上,瀑布则被称作“跌水”。其成因是受到断层或凹陷等地质构
  • 抑制蛋白酶蛋白酶抑制剂(英语:Protease inhibitor)是带有环状结构的肽化合物,可竞争性或非竞争性抑制蛋白酶活性,此外,蛋白酶抑制剂还可以降低白介素-1β转换酶的表达,从而使病毒颗粒无法成熟,
  • 翟灏翟灏可以指:
  • span style=color:#fff环太平洋大学联盟/span环太平洋大学协会(Association of Pacific Rim Universities;APRU),或称环太平洋大学联盟,创立于1997年,是由环太平洋地区各国一流的研究型大学所组成的联盟。联盟的宗旨是“发展(
  • 奴奴干岛奴奴干岛是印度尼西亚的岛屿,位于加里曼丹岛以东,由东加里曼丹省负责管辖,面积226平方公里,人口109,773,人口密度每平方公里485人。
  • 商奄,又称奄国,先秦方国,都城为奄(今山东济宁曲阜旧城东),疆域可能与后来的鲁国相近。因参与周初的三监之乱,灭于周公东征,周公旦封伯禽于奄国故地,建立鲁国;部分奄人南迁复国继续反周
  • 蒙阴县蒙阴县位于山东省中部偏南,山东省临沂市西北部,因位于蒙山(古称东山)之阴(北面)而得名,是临沂市下辖县。地跨东经117°45′—118°15′,北纬35 °27′—36°02′,南北最大长距65.4公