数据结构

✍ dations ◷ 2024-12-22 19:20:41 #计算机科学,理论计算机科学,数据结构

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

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

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

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

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

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

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

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

相关

  • 上髁炎上髁炎(英语:Epicondylitis)是一种肌肉骨骼疾病(英语:musculoskeletal disorder) ,是指上髁(英语:epicondyle)炎症 。由反复性的活动所引起。在运动员中,与技术水准不足有相关 。大约95
  • 据中医脏象学说,胆与、胃、小肠、大肠、膀胱、三焦合称“六腑”;与“肝”互为表里。主要功能为贮藏和排泄精汁(胆汁)、主决断和调节脏腑气机。胆与其他腑器不同之处,是不会和食物
  • 9月8日9月8日是阳历年的第251天(闰年是252天),离一年的结束还有114天。在英国和北美十三州,因1752年将历法从儒略历转换至格里历,故该年没有9月8日。
  • 紫菀紫菀(学名:Aster tataricus),又名青菀、紫倩、青牛舌头花(河北土名)、山白菜、驴夹板菜、驴耳朵菜、还魂草、返魂草、小辫,是菊科紫菀属植物。多年生草本,株高可达1.8米;须根多数簇生
  • 梅丝黛·苏巴索迪梅丝黛·苏巴-索迪(Mercedes Scelba-Shorte,又名Mercedes Yvette;1981年8月24日-)美国模特儿及演员。她是《全美超级模特儿新秀大赛》第二季的亚军。在比赛期间,梅丝黛公开自己患
  • 台湾人口普查台湾人口普查从日治时期开始实行,至今为止共13次。首次于1905年实行,之后于1915年再度实行,此后至1940年止,每5年实行一次,于日治时期共计7次。前两次称为临时台湾户口调查,后五次
  • span class=nowrapAgClOsub3/sub/span氯酸银(AgClO3)是白色四方晶体。像所有氯酸盐一样,它可溶于水并在热水中溶解度增加,是强氧化剂。作为一种简单的金属盐,在碱性无机化学实验中,它是一种常见的化学品。对光敏感,必须
  • 报酬递减报酬递减(英语:diminishing returns)亦称收益递减、报酬递减法则、收益递减法则(law of diminishing returns)、产量递减原则(principle of diminishing marginal productivity
  • 国际单位制基本单位的重新定义国际基本单位2019年新定义是指,在2018年11月16日,第26届国际计量大会一致通过了新的国际单位制基本单位定义的提案,新定义于2019年5月20日生效。国际单位制希望其单位定义基准
  • 过二硫酸过二硫酸(或称为“过氧二硫酸”、“过硫酸”或“马歇尔酸”)是一种硫的含氧酸,分子式为H2S2O8 。 其结构可以表示为HO3SOOSO3H。虽然过二硫酸分子中的硫的氧化态为+6,但因为该分