So, I understand why arrays have fast random access(Searching) or constant time access for searching, because you have an index and you just say goto array[index]. Example array. But im not quite understanding why insertion/deletion of indexes is linear and not constant? Wouldn't it be the same thing? You just say array delete. and it jumps right to that index and deletes it? My understanding is that linear means it has to run through the whole array to get to the index you specified..? So when you say insertions/deletions are linear for arrays im wondering why do you have to linearly go through all the indexes that precede the index you are referring to to get to the one you are referring to? It is an array you should just specify the index to delete and it jumps right to it in constant time and deletes it, correct? Anyways just trying to clear this up. Im not saying its not linear and I totally believe it is, I just cant put my finger on the details of how it is linear for insertion/deletion. Thanks in advance for your responses. Try not to flame me to much, as im sure the explanation for this is quite simple.