Professional Documents
Culture Documents
Advantages, Disadvantages and Applications of SLL, CLL, DLL
Advantages, Disadvantages and Applications of SLL, CLL, DLL
UNIT-2
Advantages, Disadvantages and
Applications
• Advantages: Singly Linked List
Easy to insert and delete -Does not require the shifting of items
during insertions and deletions
Dynamic Size -Is able to grow in size as needed
• Disadvantages:
Elements can not accessed randomly.
Extra space is needed to store pointers- to maintain the logical order of the
elements.
Loss of data threat is there, if we lose one pointer location then the rest of
linked list elements can not be accessed.
• Applications:
Linked Lists can be used to represent Graphs
Linked list is used for maintainingthe free blocks for dynamic memory
allocation.
Used to implement Queue and Stack Data structures.
Used for performing arithmetic operations on long integers.
Used for manipulating polynomials
Circular Linked List
• Advantages:
The entire list can be traversed starting from any node (traverse means
visiting every node only once)
• Disadvantages:
Depending on implementation, inserting at start of list would require
doing
a search for the last node which could be expensive.
If not traversed carefully, then we could end up in an infinite loop.
It does not support direct accessing (random accessing/Indexing) of
elements.
• Applications:
Useful for implementation of queue
It is also used by the Operating system for job scheduling (eg.
Round-
Robin Algorithm).
Multiplayer games use a circular list to swap between players in a
loop.
Helps to implement Advanced data structures like Fibonacci Heap
• Advantages:
Double Linked List
Can move/search in both directions on list. Thus, if in case any pointer is
lost we can still traverse.
• Disadvantages:
Extra space is required for the previous pointer.
All operations require more work to set up previous pointer properly.
• Applications:
Used in navigation systems where both front and back navigation is
required Eg. Music Player.
Used by browsers to implement backward and forward navigation of visited
web pages i.e. back and forward button.
Used by various application to implement Undo and Redo functionality.