8、插入和删除数据时,链表比较快,数组比较慢

插入数据:

对于数组,在顺序排列的数据列中的特定位置新的数据时,数组要把插入位置后面的所有元素都像后移动。如果在插入的位置后面有1000个元素,则不得不将数据移动1000次。每次因数据插入而引起数据移动都会消耗很长时间。

对于链表,断开插入数据位置的前后的链,将新的数据连续到链表中就可以了。插入位置后面即使有1000个、10000个数据,通常只要把链断开,再将链重新连接,一次处理就能执行插入操作,时间消耗也很小。

 

删除数据:

对于数组,删除数据后面的所有数据都要向前移动。删除的位置后面有1000个数据时就必须移动1000次数据。

对于链表,无论删除的数据后面有多少个数据,只需要断开删除数据的链,然后把前后两个结点直接连接起来就可以了。

 

数组在查找第N个元素时效率较高,而对于数据的插入和删除操作则是链表效率较高。

 

数组与链表插入数据的过程:

8、插入和删除数据时,链表比较快,数组比较慢_第1张图片

你可能感兴趣的:(JS算法)