一.数据结构的定义:
数据结构是 一门 研究 非数值计算 的 程序设计问题中 计算机的操作对象以及他们之间的关系和操作等的学科
二.基本概念和术语:
数据: 是对客观对象的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称
数据元素: 数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理
数据对象: 性质相同的数据元素的集合,是数据的一个子集
数据结构: 相互之间存在一种或多种特定关系的数据元素的集合
常用结构:
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))