Applications of Data Structures

The data structures store the data according to the mathematical or logical model it is based on. The type of operations on a certain data structure makes it useful for specific tasks. Here is a brief discussion of different applications of data structures.

Arrays

  • Storing list of data elements belonging to same data type
  • Auxiliary storage for other data structures
  • Storage of binary tree elements of fixed count
  • Storage of matrices

Linked List

  • Implementing stacks, queues, binary trees and graphs of predefined size.
  • Implement dynamic memory management functions of operating system.
  • Polynomial implementation for mathematical operations
  • Circular linked list is used to implement OS or application functions that require round robin execution of tasks.
  • Circular linked list is used in a slide show where a user wants to go back to the first slide after last slide is displayed.
  • When a user uses the alt+tab key combination to browse through the opened application to select a desired application
  • Doubly linked list is used in the implementation of forward and backward buttons in a browser to move backwards and forward in the opened pages of a website.
  • Circular queue is used to maintain the playing sequence of multiple players in a game.

Stacks

  • Temporary storage structure for recursive operations
  • Auxiliary storage structure for nested operations, function calls, deferred/postponed functions
  • Manage function calls
  • Evaluation of arithmetic expressions in various programming languages
  • Conversion of infix expressions into postfix expressions
  • Checking syntax of expressions in a programming environment
  • Matching of parenthesis
  • String reversal
  • In all the problems solutions based on backtracking.
  • Used in depth first search in graph and tree traversal.
  • Operating System functions
  • UNDO and REDO functions in an editor.

Queues

  • It is used in breadth search operation in graphs.
  • Job scheduler operations of OS like a print buffer queue, keyboard buffer queue to store the keys pressed by users
  • Job scheduling, CPU scheduling, Disk Scheduling
  • Priority queues are used in file downloading operations in a browser
  • Data transfer between peripheral devices and CPU.
  • Interrupts generated by the user applications for CPU
  • Calls handled by the customers in BPO

Trees

  • Implementing the hierarchical structures in computer systems like directory and file system
  • Implementing the navigation structure of a website
  • Code generation like Huffman’s code
  • Decision making in gaming applications
  • Implementation of priority queues for priority based OS scheduling functions
  • Parsing of expressions and statements in programming language compilers
  • For storing data keys for DBMS for indexing
  • Spanning trees for routing decisions in computer and communications networks
  • Hash trees
  • path-finding algorithm to implement in AI, robotics and video games applications

Graphs

  • Representing networks and routes in communication, transportation and travel applications
  • Routes in GPS
  • Interconnections in social networks and other network based applications
  • Mapping applications
  • Ecommerce applications to present user preferences
  • Utility networks to identify the problems posed to municipal or local corporations
  • Resource utilization and availability in an organization
  • Document link map of a website to display connectivity between pages through hyperlinks
  • Robotic motion and neural networks

These are a few applications of data structures to make appropriate storage and management of data for specific applications.