数据的操作
- 初始化
- 判断是否空状态
- 求长度:统计元素个数
- 包含:判断是否包含指定元素
- 遍历:按某种次序访问所有元素,每个元素只能被访问一次
- 取值:获取指定元素值
- 置值:设置指定元素值
- 插入:增加指定元素
- 删除:移去指定元素
用java语言描述数据结构
public interface Structure<E>
{ //E是泛型参数,指定元素类型
boolean isEmpty(); // 判断是否为空
int length(); //返回元素个数
boolean contain(Object obj);//判断是否包含obj对象
boolean add(E element); // 插入元素
boolean remove(Object obj);//移去首次出现的obj对象
void clear(); //清空
}
算法
什么是算法
算法定义:有穷性、确定性、输入、输出、可行性
算法设计目标:正确性、可读性、健壮性、高时间效率、高空间效率
算法与数据结构
算法描述
线性表插入操作
算法分析
度量算法的时间效率
算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。
T(n) = O(f(n))
度量算法的空间效率
空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。
S(n) = O(f(n))
例:算法时间复杂度分析