Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm not totally sure what you mean by "dynamic array", but the vector algorithm for insertion (which you should probably at least include, if by "dynamic array" you were implying a more naive insertion scheme) is O(1) amortized.



If we are talking about the same thing (an array that you reallocate to twice its size when you fill), then it has an amortized O(1) time to append something to the end. If you want to insert something in the beggining, you will need to move n elements down an index. A random location will average n/2, which is O(n)


Ah, true. I guess the chart should probably distinguish between arbitrary index insertion and appending.


Though with a gap buffer, you can have O(1) to insert/delete at some other point. Costs O(n) to move that point, though.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: