数据结构与算法

✍ dations ◷ 2024-12-22 21:40:03 #数据结构与算法
在计算机科学中,数据结构(英语:data structure)是计算机中存储、组织数据的方式。数据结构意味着接口或封装:一个数据结构可被视为两个函数之间的接口,或者是由数据类型联合组成的存储内容的访问方法封装。大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可为空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。数据结构可透过编程语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支持各种程序运行。不同种类的数据结构适合不同种类的应用,部分数据结构甚至是为了解决特定问题而设计出来的。例如B树即为加快树状结构访问速度而设计的数据结构,常被应用在数据库和文件系统上。正确的数据结构选择可以提高算法的效率(请参考算法效率(英语:algorithmic efficiency))。在计算机程序设计的过程中,选择适当的数据结构是一项重要工作。许多大型系统的编写经验显示,程序设计的困难程度与最终成果的质量与表现,取决于是否选择了最适合的数据结构。系统架构的关键因素是数据结构而非算法的见解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于用户界面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来达到这个目的。因为数据结构概念的普及,现代编程语言及其API中都包含了多种默认的数据结构,例如 C++ 标准模板库中的容器、Java集合框架以及微软的.NET Framework。

相关

  • COPD慢性阻塞性肺疾病(英语:Chronic obstructive pulmonary disease,缩写为COPD),常简称为慢阻肺。是一种以持续性的气流受限为特征的阻塞性肺疾病(英语:Obstructive lung disease)。其
  • 第四代头孢菌素(法语:Cephalosporine、英语:Cephalosporin),又名先锋霉素,是一系列属于β内酰胺类的抗生素。与头霉素一并细分为头孢烯。头孢菌素化合物最初是于1948年,由意大利科学家Giu
  • 拜占庭拜占庭(希腊语:Βυζάντιον,拉丁语:Byzantium)是一个古希腊城市,也为现今土耳其伊斯坦布尔(君士坦丁堡)的旧名,相传是从墨伽拉来的殖民于公元前667年建立的。拜占庭的名字据说
  • Simon Schuster西蒙与舒斯特(英语:Simon & Schuster)是CBS集团旗下的公司,于1924年由理查德·西蒙和麦斯·林肯·舒斯特在纽约创立,是美国的六大出版商之一,与兰登书屋、企鹅出版集团等齐名。201
  • 85号州际公路85号州际公路(Interstate 85,简称I-85)是美国州际公路系统的一部分。南端位于阿拉巴马州蒙哥马利的65号州际公路,往东北至维吉尼亚州彼得斯堡汇入95号州际公路,全长668.75英里(1,0
  • 亚硫酸盐亚硫酸盐是亚硫酸所成的盐,含有亚硫酸根离子SO32−。亚硫酸根离子是强还原剂,因此可以利用强还原剂(如溴、酸化过锰酸盐、酸化重铬酸盐)来检验。会使溴水褪色。绝大多数葡萄酒中
  • 谷氨酸受体代谢型谷氨酸受体(英语:metabotropic glutamate receptors,简称mGluR),属于谷氨酸受体的一种类型(另一类为离子型谷氨酸受体),可借由间接代谢过程进行激活。该受体是GPCR家族C组的成
  • 监护人监护人是指一个人在未成熟、经验不足或社会认为需要受监护的情况下对其进行指导和监督的人,尤其指避免监护对象行差踏错者。监护人不一定有法律地位。但一些政治人物的监护人
  • 人口迁移人口迁徙是一种人类族群集体或个别改变居住地域的现象,其形式有自愿或非自愿、合法或非法之别,原因则可能包括(但不限于)资源短缺、气候变迁、战争、奴隶贸易、种族清洗、政治迫
  • 装饰风艺术装饰风艺术(法语:Art Decoratifs,简称:art deco),另有“装饰派艺术”、“装饰艺术”、“艺术装饰风格”、“装饰艺术风格”等等译名。装饰风艺术(Art Deco) 名字取自于1925年在巴黎