数据结构自我总结(1)

1,链表的插入和删除之所以是O(N),是因为要用O(N)顺序查找到插入点的位置,插入时间为O(N)
顺序表找到插入点的时间为O(1),但要把后面的元素全部后移一位,复杂度为O(N)。
查找所需时间比移动短多了,所以虽然复杂度都是O(N),但是链表更适合插入删除

2,顺序队列由于假溢出,队列为空时front和rear同时为-1;在插入第一个数据时,二者下标同时改变;所以采用循环队列解决

数据结构自我总结(1)_第1张图片

front==rear为队空条件;所以解决冲突,(rear+1)%maxsize==front为队满条件;由于是循环队列需要取余来获得其下标

注意:rear的下标为最后一个数据元素再+1;

队长:(rear-front+maxsize)%maxsize 入队:(rear+1)%maxsize 出队同理

数据结构自我总结(1)_第2张图片

你可能感兴趣的:(数据结构自我总结(1))