算法:是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作。
算法特性:输入输出,有穷性,确定性,可行性。
好的算法:正确性、可读性、健壮性、高效率和低存储量的特征。
算法的空间复杂度通过计算算法所需的存储空间的实现。S(n)=O(f(n)).
chap3 线性表零个或多个数据元素的有限序列。
线性表:零个或多个数据元素的有限序列。
基本操作:建立,检查,清空,取值,查找,插入,删除,
线性表的顺序存储结构:指的是用一段地址连续的存储单元一次存储线性表的数据元素。
三个属性:
存储空间的启始位置:数组data
线性比哦啊的最大存储容量
线性表的当前长度:分配的数组空间要大于等于当前线性表的长度。
优点:无须为表示表中元素之间的逻辑关系而增加额外的存储空间。可以快速的存取表中任一位置的元素。
缺点:插入和删除操作需要移动大量元素。当线性表长度变化较大时,难以确定存储空间的容量。造成存储空间的碎片。
线性表的链式存储结构
我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称作指针或链。这两部分信息组成数据元素ai的存储映像,称为结点。
链表中第一个结点的存储位置叫做头指针。
在单链表的第一个结点前附设一个结点,称为头结点。
头结点的指针域存储指向第一个结点的指针。
静态链表:用数组描述的链表。