Applications of Data Structures in Computer Science

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.