Linked Lists
Vocabulary / Definition List
-
Data structures - Specialized formats for organizing, processing, retrieving and storing data.
-
Linear data structures - Data structures where data elements are arranged sequentially or linearly. Each and every element is attached to its previous and next adjacent.
-
Non-Linear data structures - Data structures where data elements are not arranged sequentially or linearly.
-
Static data structures - Data structures that need all of their resources to be allocated in memory in one contiguous block when they’re created. They always need a given size and amount of memory.
-
Dynamic data structures - Data structures that don’t need a set amount of memory to be allocated in order to exist. They can shrink and grow in memory. Their size, shape and the amount of memory needed can change.
-
Linked List - Data structure that contains a sequence of Nodes that are connected/linked to each other and point to the next node in the list.
-
Nodes - The individual items/links that live in a linked list. Each node contains the data for each link.
-
Next - Property that contains the reference to the next node.
-
Head - Reference of type Node to the first node in a linked list.
-
Tail - Reference of type Node to the last node in a linked list.
-
Current - Reference of type Node to the node that is currently being looked at. When traversing, you create a new Current variable at the Head to guarantee you are starting from the beginning of the linked list.
-
Singly Linked Lists - There is only one reference, and the reference points to the Next node. They only go in one direction.
-
Doubly Linked Lists - There are two references within the node. One points to the Next Node and the other to the Previous node.
-
Circular Linked list - The first and the last nodes are also connected to each other to form a circle. We can have circular singly linked list as well as circular doubly linked list.
-
BigO Notation - Describes the efficiency of an algorithm or function using algebraic terms.
-
Running Time - The amount of time a function needs to complete.
-
Memory Space - The amount of memory resources a function uses to store data and instructions.