线性表中顺序存储的顺序表需要注意的几个特点:
1、顺序表插入:
①由于向量空间大小在声明时就确定了,所以当顺序表的长度大于等于声明大小的时候,表空间就满了,不可再做插入操作。
②插入位置只能是1~顺序表长度+1。
顺序表在i位置插入时,需要将i+1到最后的位置的元素向后移动一位,空出i的位置,然后再插入。
1.1、算法分析:
问题的规模:
表的长度(n)是问题的规模
移动节点的次数由表的长度和插入结点的位置决定:
算法的时间主要花费在for循环中结点向后移的语句上,该语句的执行时间为n-i+1
当i=n+1的时候,移动节点次数为0,情况最好的时候,时间复杂度是O(1)
当i=1的时候,移动节点次数为n,情况最快的时候,时间复杂度是O(n)
假设在表中任何合法位置的插入结点的机会是均等的,在等概率插入情况下,平均要移动一半的结点,时间复杂度不计算系数,故平均的时间复杂度是O(n)
2、顺序表删除:
①删除时,删除位置只能是1~顺序表长度。
2.1、算法分析:
同1.1。