I'm learning data structures and algorithms using Python. I've learnt that the advantage of linked list is that it does not have a maximum number of nodes, unlike arrays in other languages.
Since Python automatically resizes our lists for us, the advantage has been abstracted away for us.
Therefore, I've always thought that the only advantage linked lists have was that adding a node at the front or back of the linked list was O(1), whereas adding an element to a list could end up being O(n) from Python having to resize the array and copying every element over.
However, I've just learnt that amortized time complexity is a thing today, and that appending to a list takes amortized O(1). So, adding an element to a list is actually quicker than adding a node to a linked list, since adding a node at anywhere other than the front/back of a linked list takes O(n) time complexity.
So then, what is the point of using linked lists over arrays/lists?