程序设计=数据结构+算法

1、基本概念和术语

数据>数据对象>数据元素>数据项

  • 数据:是描述客观事物的符号,能被计算机识别处理符号集合;

  • 数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理

  • 数据项:一个元素由若干个数据项组成,数据项是数据不可分割的最小单位

  • 数据对象:是性质相同的数据元素的集合,是数据的子集

  • 数据结构:相互之间存在一种或多种特定关系的数据元素集合。它包括

    • 逻辑结构
    • 存储结构
    • 数据运算

2、逻辑结构和物理结构

逻辑结构面向问题的,而物理结构面向计算机的,其基本目的是将数据及其逻辑关系****存储到计算机内存中

2.1、逻辑结构

  • 逻辑结构:是指数据对象中数据元素之间的相互关系

  • 逻辑结构分为以下四种:

    • 集合结构:数据元素属一个集合
    • 线性结构:数据元素间一对一关系;
    • 树形结构:数据元素间一对多关系;
    • 图形结构:数据元素间多对多关系;

2.2、物理结构

  • 物理结构(存储结构):是指数据的逻辑结构计算机中存储形式

  • 物理结构分为以下两种:

    • 顺序存储结构:把数据元素存在地址连续的存储单元里,数据间的逻辑关系和物理关系是一致的;
    • 链式存储结构:把数据元素存在任意的存储单元里,这组存储单元是可以连续的也可以是不连续的;

3、抽象数据类型

  • 数据类型:是指性质相同值的集合此集合上的操作的总称;

  • 数据类型分为两类:

    • 原子结构:是不可再分解的基本类型;
    • 结构类型:若干个类型组成,可再分解;
  • 抽象:取出事物具有的普遍性本质;

  • 抽象数据类型(Abstract Data Type,ADT ):是指一个数学模型在此数据模型上的操作的总称;

抽象数据类型取决于一组逻辑特性,与计算及内部的表示、实现无关。

抽象数据类型中,“抽象”的意义在于对数据类型的数学抽象特性。

抽象数据类型体现了程序设计中问题分解、抽象和处理问题过程的信息隐藏特性。