数据类型
指一组性质相同的值的集合及定义在此集合上的一些操作的总称;
原子类型:是不可以再分解的基本类型,包括整型、实型、字符型……
结构类型:同若干个类型组合而成,是可以再分解的。如整型数组是由若干个整型数据组成的。
抽象数据类型
是指一个数学模型及定义在该模型上的一组操作。“抽象”的意义在于数据类型的数学抽象特性。
抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。
数据结构是相互之间存在一种或多种特定关系的数据元素的集合。
逻辑结构:集合结构、线性结构、树形结构、图形结构
物理结构:顺序存储结构、链接存储结构
算法定义
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法特性
输入、输出、有穷、确定、可行;
输入输入出:有0个或多个输入;至少有一个或多个输出。
有穷性:指算法在执行有限的步骤之后,自动结束而不会出现有无限循环,并且每一个步骤在可接受的时候内完成。
确定性:算法在每一步骤都具有确定的含义,不会出现二义性
可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。
要求
正确性、可读性、健壮性、时间效率高和存储量低
算法效率的度量方法
事后统计方法
事前分析估算法
函数的渐近增长
函数的渐近增长:给定两个函数f(n)和g(n),如果存在一个整数N,使得对于所有的n>N,f(n)总是比g(n)大,那么,我们说f(n)的增长渐近快于g(n)