数据结构理论3---顺序表章节

今日总结
错题总结
在一个长度为n的顺序表中删除第i个元素(1<=i<=n)时,需要向前移动( )个元素。在这个过程中,第i个元素后面有 n-i 个元素,前面有i-1个元素,所以我们需要移动n-i个元素。
存储密度:在数据结构中,结点数据本身所占的存储量和整个结点结构所占的存储量之比。
存储密度 = 结点数据本身所占存储量 / 整个结点结构所占的存储量
顺序表的存储密度等于1
单链表的存储密度小于1
假设单链表的结点的数据占的存储量为N,结点的指针域所占的存储量为M,则存储密度 = N / (N+M),所以单链表的密度是小于1的。
顺序表的插入,删除和查找的时间复杂度都是O(N)。
顺序表结点的存储地址计算公式:
第i个数据元素的存储位置:Loc(ai)=Loc(ai)+(i-1)*l;1≤i≤n(l为每个元素需占l个存储单元)
第(i+1)个数据元素的存储位置Loc(ai+1)和第i个数据元素的存储位置Loc(ai)的关系:Loc(ai+1)=Loc(ai)+l;
顺序存储方式的优点是存储密度大,数据存储在连续的内存空间中,但是插入、删除运算效率低。