1c Theory
1c Theory
1c Theory
Assignmet Title:
Theory:
Like arrays, a Linked List is a linear data structure. Unlike arrays, linked list
elements are not stored at a contiguous location; the elements are linked using pointers.
They includea series of connected nodes.
Here, each node stores the data and the address of the next node.
Arrays can be used to store linear data of similar types, but arrays have the
following limitations:
o The size of the arrays is fixed: So we must know the upper limit on the
number of elements in advance. Also, generally, the allocated memory is
equal to the upper limit irrespective of the usage.
o Insertion of a new element / Deletion of a existing element in an array of
elements is expensive: The room has to be created for the new elements and
to create room existing elements have to be shifted but in Linked list if we
have the head node then we can traverse to any node through it and insert
new node at the required position.
o Dynamic Array.
o Ease of Insertion/Deletion.
1. Simple Linked List – In this type of linked list, one can move or traverse
the linked list in only one direction. where the next pointer of each node
points to other nodes but the next pointer of the last node points to NULL.
It is also called “Singly Linked List”.
2. Doubly Linked List – In this type of linked list, one can move or traverse
the linked list in both directions (Forward and Backward)
3. Circular Linked List – In this type of linked list, the last node of the linked
list contains the link of the first/head node of the linked list in its next
pointer.
4. Doubly Circular Linked List – A Doubly Circular linked list or a circular
two-way linked list is a more complex type of linked list that contains a
pointer to the next as well as the previous node in the sequence. The
difference between the doubly linked and circular doubly list is the same
as that between a singly linked list and a circular linked list. The circular
doubly linked list does not contain null in the previous field of the first
node.
5. Header Linked List – A header linked list is a special type of linked list
that contains a header node at the beginning of the list.
A linked list is represented by a pointer to the first node of the linked list. The first
node is called the head of the linked list. If the linked list is empty, then the value
of the head points to NULL.