Resizing-Array vs. Linked List
So what are the trade-offs between using resizing-arrays vs. Linked Lists.
For linked list’s every operation takes constant time in the worst case. It also takes extra time and space to deal with the links. Resizing-arrays on the other hand take constant amortized time for every operation and there is less wasted space. An example of how these trade offs can be viewed.
A network switch needs to consistently deal with packets coming in at a standard speed with no peaks and troughs, as a resizing-array may have issues when doubling in size a linked list may be better suited as operation speed is easier to guarantee.
Or on the other hand…
A website with a file uploading service is catering it’s storage volume allocation based on the amount of files uploaded, it may periodically shrink or grow its volumes to help deal with capacity. The small delay in operation does not cause impact to the end user experience this implementation may be better suited for a resizing-array.