Different types of data structures are used for different kinds of purposes. Some of them are highly specialiased at 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, queue, stack 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
- Doubly linked list can be used in navigation systems.
- Doubly linked list is also used by various application to implement Undo and Redo functionality.
- Advanced data structures like Fibonnacci Heap are implemented using circular doubly linked lists.
Applications of Trees
- To search an element in a set quickly, Binary Search Trees(BSTs) are used.
- Heap sort is done by a kind of tree called Heap.
- Tries are modified version of trees used to store routing informations in routers.
- Compiler use a syntax tree to parse program you write.
- Shortest path trees and spanning Trees are used in bridges and routers.
Applications of Stacks
LIFO property of Stack can be usefull in following applications.
- Evaluating Expressions.
- Converting between expressions.
- Back tracking.
- Parsing context-free languages.
- Recursion removal.
- Tree and graph traversal.
Applications of Queues
Following applications requiring FIFO storage and are implemented using Queues.
- Manage resource sharing such as CPU scheduling, disk scheduling..etc
- When data is send and recieved betwwen two processos not necessivly at same rate.
Applications of Graphs
- Transportation networks that like the one used by Google Map.
- Representation of molecular structure.
- Finding shortest path.
- Airline network.
- Social networks.