01. Introduction to LinkedLists

What is a Linked List?

A linked list is a data structure that consists of a group of nodes that together represent a sequence.

Each node is composed of a generic data element and a reference to the next node in the sequence.

Comparison to Arrays

  • Arrays can be traversed randomly, while linked lists must be traversed sequentially.
  • Linked list can grow dynamically, while arrays must define a size before its instantiation.
  • Because arrays have fixed sizes, we must know the upper limit of the number of elements in advance.
  • Memory allocation for an array is compile time and linked list is run time.
  • Inserting elements into an array is expensive since we have to shift all elements coming after the insertion node over one. For linked lists, however, you can simply insert a node by reconfiguring the node coming before it.
  • Linked lists allow for dynamic resizing, making it easy to add more data.

Types of Linked Lists

There are several types of linked lists, but we'll begin by looking at the simplest - the singly-linked list.

A singly-linked list has only a NEXT pointer, which points to the next node in sequence. A doubly-linked list would have an additional PREV pointer that points to the previous node.

There is also a circular linked list, in which one next NEXT pointer points to a previous element.

A linked list made up of nodes.

The linking of a group of NODE objects is what gives us a linked list. Each NEXT pointer connects one node to the next. If the node is at the end, its NEXT pointer will point to NULL.

Head and Tail

Additionally, there are two more pointers in a linked list. The HEAD of the linked list holds the first node in the list, while the TAIL holds the last.

Performance

OperationAverageWorst
Space O(n) O(n)
Lookup O(n) O(n)
Insert O(n) O(n)
Delete O(n) O(n)

Learn how data is stored

Data Structures and Algorithms in Java

Learn how data is stored Try Data Structures

Algorithms are the procedures that software programs use to manipulate data structures. Besides clear and simple example programs, the author includes a workshop as a small demonstration program executable on a Web browser. The programs demonstrate in graphical form what data structures look like and how they operate.

$ Check price
64.9964.99Amazon 4.5 logo(97+ reviews)

More Data Structures resources

Aching back from coding all day?

Prism Glasses

Aching back from coding all day? Try Back Problems

Ever feel achy from sitting crunched up on your computer table? Try lying down with these optical glasses that allow you to work on your laptop while lying flat on your back. This is the perfect solution with those with limited mobility or those who wish to prevent neck cramps and back strains.

$ Check price
4.454.45Amazon 4 logo(128+ reviews)

More Back Problems resources

Ad