Different types of data structures are used for different kinds of purposes. Some of them are highly specialized in specific tasks. Applications of data structures are listed below.
Applications of Arrays
- To implement mathematical vectors and matrices.
- To model sets or collections in computer programming.
- To implement other data structures such as lists, queues, stacks, and heaps.
- Sometimes used to emulate in-program dynamic memory allocation.
Applications of Linked lists
- To implement other data structures such as queues, stacks,trees…etc
- Used for dynamic memory allocation.
- For manipulating polynomials, representing sparse matrices…etc
- A doubly linked list can be used in navigation systems.
- The doubly linked list is also used by various applications to implement Undo and Redo functionality.
- Advanced data structures like Fibonacci Heap are implemented using circular doubly linked lists.
Applications of Trees
- To search for an element in a set quickly, Binary Search Trees(BSTs) are used.
- Heap sort is done by a kind of tree called a Heap.
- Tries are modified versions of trees used to store routing information in routers.
- A compiler uses a syntax tree to parse the program you write.
- Shortest path trees and spanning Trees are used in bridges and routers.
Applications of Stacks
The LIFO property of Stack can be useful in the following applications.
- Evaluating Expressions.
- Converting between expressions.
- Parsing context-free languages.
- Recursion removal.
- Tree and graph traversal.
Applications of Queues
The following applications require FIFO storage and are implemented using Queues.
- Manage resource sharing such as CPU scheduling, disk scheduling..etc
- When data is sent and received between two processes not necessarily at the same rate.
Applications of Graphs
- Transportation networks like the one used by Google Maps.
- Representation of molecular structure.
- Finding the shortest path.
- Airline network.
- Social networks.