MV's blog

to knowledge 🥂

Lists & Arrays

A list is a data structure that stores a value T and a reference to the next list item (Singly Linked List) or stores references to both the previous and next list items (Doubly Linked List).

Typescript Implementation:

export class ListNode<T> {
  public value: T;
  public next: ListNode<T>;
}

An array is a data structure that stores a pre-defined number of values T.

items: number[]

Comparison

The differences between a list and an array are in that when using an array we have to know how many items we want to store at allocation time and there are times when this is inconvenient (possible solution is array resizing), whereas when using a list we can add items dynamically. The tradoff is that when using an array, we can access an element in O(1) time where as when using a list we can access an element in O(N) time.

Array Linked List
Cost of accessing elements O(1) O(n)
Insert/Remove from beggining O(N) O(1)
Insert/Remove from end O(1) O(1)
Insert/Remove from middle O(N) O(n)