数据结构 在计算机科学中数据结构英語data structure是计算机中存储组织数据的方式 数据结构意味着介面或封装一个数据结构可被视为两个函数之间的介面或者是由数据类型联合组成的存储内容的访问方法封装 大多数数据结构都由数列记录可辨识联合引用等基本类型构成举例而言可為空的引用nullable reference是引用与可辨识联合的结合体而最简单的链式结构链表则是由记录与可空引用构成 数据结构可透过程式语言所提供的数据类型引用及其他操作加以实现一个设计良好的数据结构应该在尽可能使用较少的时间与空间资源的前提下支援各種程式執行 不同种类的数据结构适合不同种类的应用部分資料結構甚至是為了解決特定問題而設計出來的例如B树即為加快樹狀結構存取速度而設計的資料結構常被應用在資料庫和檔案系統上 正確的数据结构選擇可以提高演算法的效率請參考演算法效率在電腦程式设计的過程中选择适当的数据结构是一項重要工作许多大型系统的編寫经验顯示程式設計的困难程度与最终成果的质量与表现取决于是否选择了最適合的数据结构 系統架構的关键因素是数据结构而非算法的見解导致了多种形式化的设计方法与编程语言的出现绝大多数的语言都带有某种程度上的模块化思想透过将数据结构的具体实现封装隐藏于使用者介面之后的方法来让不同的应用程序能够安全地重用这些数据结构CJavaPython等面向对象的编程语言可使用类来達到這個目的 因为数据结构概念的普及现代编程语言及其API中都包含了多种預設的数据结构例如C标准模板库中的容器Java集合框架以及微软的NET Framework