一.数据结构的定义:算法
数据结构是 一门 研究 非数值计算 的 程序设计问题中 计算机的操做对象以及他们之间的关系和操做等的学科数据结构
二.基本概念和术语:函数
数据: 是对客观对象的符号表示,在计算机科学中是指全部能输入到计算机中并被计算机程序处理的符号的总称spa
数据元素: 数据的基本单位,在计算机程序中一般做为一个总体进行考虑和处理设计
数据对象: 性质相同的数据元素的集合,是数据的一个子集对象
数据结构: 相互之间存在一种或多种特定关系的数据元素的集合编译
经常使用结构:程序设计
1.集合: 结构中的元素之间除了 "同属于一个集合" 的关系外,别无其余关系效率
2.线性结构: 结构中的元素存在着一个对一个的关系计算机科学
3.树形结构: 结构中的元素存在着一个对多个的关系
4.网状结构: 结构中的元素存在着多个对多个的关系
算法
概念: 算法是对特定问题求解步骤的一种描述
算法的重要特性:
1.有穷性
2.肯定性
3.可行性
4.输入
5.输出
算法设计的要求:
1.正确性
2.可读性
3.健壮性
4.效率与低存储量要求
算法效率的度量
同一个算法用不用的语言实现,或者用不一样的编译程序进行编译,或者在不一样的计算机上运行时,效率均不相同,因此用绝对时间来判断算法的效率是不可行的
时间复杂度:
通常状况下,算法中基本从操做重复执行的次数是问题规模n的某个函数f(n),
算法的时间量度记作 T(n)=O(f(n))
它表示随问题n的增大,算法执行时间的增加率和f(n)的增加率相同,称做算法的 渐进时间复杂度,简称 时间复杂度
语句频度:指的是该语句重复执行的次数
空间复杂度:
相似于时间复杂度,空间复杂度做为算法所需存储空间的度量,记做 S(n) = O (f(n))