数据结构与算法

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

相关

  • 登革热登革热(法語:La fièvre de la dengue ; 英語:dengue fever),也称为骨痛热症、断骨热、天狗热,是一种由登革热病毒引起的由蚊媒热带病(英语:tropical disease)。患者大约会在感染后3
  • 动物相动物相(拉丁文:Fauna),又译动物群或动物区系,指某一地区某一时段的特定动物种群。Fauna的另一个意思是动物志,是对一个动物区系的纪录和描述。“动物相”翻译自欧洲语言的Fauna,这
  • 黑粉菌纲条黑粉菌目 Urocystales 黑粉菌目 Ustilaginales黑粉菌纲(学名:Ustilaginomycetes)是担子菌门黑粉菌亚门下的一个纲。这一纲中的真菌是真正意义上的黑粉菌(smut fungi)。它们已知
  • 血液学人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学血液学(英语:Hematology或haematology)是
  • 喀布尔喀布尔(普什图语:کابل‎,波斯语:کابل‎), 是阿富汗的首都,喀布尔省首府和阿富汗的最大城市。它是一座有3000多年历史的名城,1773年以后成为阿富汗首都。“喀布尔”在信德语
  • 类金属类金属(英语:Metalloid)是一个用来分类化学元素的化学名词。基于它们的物理与化学特性,几乎所有元素周期表上的化学元素都可被分类为金属或非金属;但也有一些特性介于金属与非金
  • 钍-230钍-230是钍的放射性同位素之一,原子核由90个质子和140个中子构成,是一种痕量同位素,半衰期约七万五千年,可以用来测定珊瑚和确定洋流流量。20世纪初美国放射化学家伯特伦·博尔
  • 让·雷诺阿让·雷诺阿(法语:Jean Renoir,1894年9月15日-1979年2月12日)是一位法国著名电影导演,印象派画家皮埃尔-奥古斯特·雷诺阿的次子,法国电影自然主义的代表人物。他于1945年凭《南方人
  • 花椒等。Fagara L. Ochroxylum Schreb. Xanthoxylum Mill.花椒,又称秦椒、川椒或山椒,指的是芸香科花椒属(学名:Zanthoxylum)的灌木或乔木以及其果实。《神农本草经》中记载:“始产于
  • 镜像神经元镜像神经元(英语:mirror neuron)是指动物在执行某个行为以及观察其他个体执行同一行为时都发放冲动的神经元。因而可以说这一神经元“镜像”了其他个体的行为,就如同自己在进行