《数据结构(C语言版)》—第1章:绪论

1.1 什么是数据结构

1.2 基本概念和术语
  1. 数据(data)是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。
  2. 数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
  3. 数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。
  4. 数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。
  5. 数据元素之间的相互关系称为结构(structure),通常有4类基本结构:
    (1) 集合:结构中的数据元素之间处理“同属于一个集合”的关系外,别无其他关系;
    (2) 线性结构:结构中的数据元素之间存在一个对一个的关系;
    (3) 树形结构:结构中的数据元素之间存在一个对多个的关系;
    (4) 图状结构或网状结构:结构中的数据元素之间存在多个对多个的关系。
  6. 数据结构在计算机中的表示(又称映像)称为数据的物理结构,又称存储结构。
  7. 抽象数据类型(Abstract Data Type,简称ADT)是指一个数学模型以及定义在该模型上的一组操作。
  8. 抽象数据类型的定义由一个值域和定义在该值域上的一组操作组成。若按其值的不同特性,可细分为下列三种类型:
  • 原子类型(atomic data type)属原子类型的变量的值是不可分解的。
  • 固定聚合类型(fixed-aggregate data type)属该类型的变量,其值由确定数目的成分按某种结构组成。
  • 可变聚合类型(variable-aggregate data type)和固定聚合类型相比较,构成可变聚合类型“值”的成分的数目不确定。
    后两种类型可统称为结构类型
  1. 多形数据类型(polymorphic data type)是指其值的成分不确定的数据类型。

1.3 抽象数据类型的表示和实现

  1. 抽象数据类型可通过固有数据类型来表示和实现,即利用处理器中已存在的数据类型来说明新的结构,用已经实现的操作来组合新的操作。

1.4 算法和算法分析

1.4.1 算法
  1. 算法(algorithm)是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作;此外,一个算法还具有下列5个重要特性:
    (1) 有穷性 一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
    (2) 确定性 算法中每一条指令必须由确切的含义,读者理解时不会产生二义性。
    (3) 可行性 一个算法是能行的,即算法中描述的操作都是可以通过已经实现的基本运算执行的有限次来实现的。
    (4) 输入 一个算法有零个或多个的输入,这些输入取自于某个特定的对象的集合。
    (5) 输出 一个算法有一个或多个的输出,这些输出是同输入有着某些特定的关系的量。
1.4.2 算法设计的要求
  1. 通常设计一个“好”的算法应考虑达到以下目标:
    (1) 正确性(correctness)
    (2) 可读性(readability)
    (3) 健壮性(robutnes)
    (4) 效率与低存储量需求
1.4.3 算法效率的度量
  1. 度量一个程序的执行时间通常有两种方法:
    (1) 事后统计的方法
    (2) 事前分析估算的方法
1.4.4 算法的存储空间需求

你可能感兴趣的:(数据结构)