1.图灵奖获得者沃思给出了一个著名的公式: 程序=数据结构 + 算法
2.用计算机求解问题一般包含两个步骤: ⑴ 抽象出问题的模型;⑵ 求该模型的解。
3.数据(Data):是对客观事物的符号表示,在计算机科学中是指能输入到计算机并被计算机程序处理的符号的总称。
数据元素(Data Element):是数据的基本单位,也可以称为结点,在计算机程序中通常作为一个整体进行考虑。
4.存储结构的分类: 1. 顺序结构 2. 链式结构
5.一般的做法是将数据结点分为两部分: 数据字段 指针字段
6.一个 ADT 的定义不涉及它的实现细节,在形式上可繁可简。通常包含以下内容:
① 抽象数据类型名 ②数据元素之间逻辑关系的定义 ③每种基本操作的接口(操作的名称和该操作的前置条件、输入、功能、输出、后置条件的定义)
ADT 抽象数据类型名
Data
数据元素之间逻辑关系的定义
Operation
操作 1
前置条件:执行此操作前数据所必须的状态
输入:执行此操作所需要的输入
功能:该操作将完成的功能
输出:执行该操作后产生的输出
后置条件:执行该操作后数据的状态
操作 2
……
……
操作 n
endADT
7.算法的性质:
8.算法分析的内容
算法运行所需要的时间,称为时间复杂性 —— 事前估计法、事后统计法
当问题规模 n→∞时T(n)与某一量同阶,称作算法的渐近时间复杂度 (asymptotic time complexity,随着问题规模的增加,算法运行时间的增长趋势) :
记作:T(n)=O(n2) O是order的简写
算法运行所需要的辅助空间,称为空间复杂性
9.