Real Time Applications Of Data Structures
A data structure is a particular way of organizing data in a computer so that it can be used effectively.
Applications of the Arrays
Arrangement of the leader-board of a game can be done simply through arrays to store the score and arrange them in descending order to clearly make out the rank of each player in the game.
A simple question Paper is an array of numbered questions with each of them assigned some marks.
2D arrays, commonly known as, matrices, are used in image processing.
It is also used in speech processing, in which each speech signal is an array.
Your viewing screen is also a multidimensional array of pixels.
Book titles in a Library Management Systems.
Online ticket booking.
Contacts on a cell phone.
For CPU scheduling in computer.
To store the possible moves of chess on a chessboard.
To store images of a specific size on an android or laptop.
Applications of Strings
Spam email detection.
Plagiarism detection.
Search engine.
Digital forensic and information retrieval system
Spell checkers.
In the database to check valid information of the user
Applications of a Matrix
Matrix is an ordered collection of columns and rows of elements. It is necessary to enclose the elements of a matrix within the brackets.
In geology, matrices are used for making seismic surveys.
Used for plotting graphs, and statistics and also to do scientific studies and research in almost different fields.
Matrices are also used in representing real-world data like the population of people, infant mortality rate, etc.
They are the best representation methods for plotting surveys.
For refraction and reflection in science optics.
Electronic circuit and quantum physics.
Media player.
Mailing list.
Symbol table creation.
Applications of the Linked List
Images are linked with each other. So, an image viewer software uses a linked list to view the previous and the next images using the previous and next buttons.
Web pages can be accessed using the previous and the next URL links which are linked using a linked list.
The music players also use the same technique to switch between music.
To keep the track of turns in a multi-player game, a circular linked list is used.
MS-Paint drawings and shapes are connected via a linked list on canvas.
Escalators — Circular linked List.
Each of the lines of code in an IDE internally is a record on a doubly-linked list.
Left/Right swipe on Tinder uses a doubly-linked list.
Social media content
feeds
.Used for symbol table management in a designing compiler
Used in switching between applications and programs (Alt + Tab) in the Operating system (implemented using Circular Linked List)
Train coaches are connected to one another in a doubly-linked list fashion.
It can be used to implement Stacks, Queues, Graphs, and Trees.
To perform undo operation.
Syntax in the coding editor.
History of visited pages.
Applications of a Stack
Converting infix to postfix expressions.
Undo/Redo button/operation in word processors.
Syntaxes in languages are parsed using stacks.
It is used in many virtual machines like JVM.
Forward-backward surfing in the browser.
History of visited websites.
Message logs and all messages you get are arranged in a stack.
Call logs, E-mails, Google photos’ any gallery, YouTube downloads, Notifications (latest appears first).
Scratch card’s earned after Google pay transaction.
Wearing/Removing Bangles, Pile of Dinner Plates, Stacked chairs.
Changing wearables on a cold evening, first in, comes out at last.
Last Hired, First Fired - which is typically utilized when a company reduces its workforce in an economic recession.
Loading bullets into the magazine of a gun. The last one to go in is fired first. Bam!
Java Virtual Machine.
Recursion.
Used in IDEs to check for proper parentheses matching
Media playlist. To play previous and next song
Applications of a Queue
Operating System uses queues for job scheduling.
To handle congestion in the networking queue can be used.
Data packets in communication are arranged in queue format.
Sending an e-mail, it will be queued.
Server while responding to request
Uploading and downloading photos, first kept for uploading/downloading will be completed first (Not if there is threading)
Most internet requests and processes use queue.
While switching multiple applications, windows use circular queue.
In Escalators, Printer spooler, Car washes queue.
A circular queue is used to maintain the playing sequence of multiple players in a game.
A queue can be implemented in - Linked List-based Queue, Array-based Queue, Stack-based Queue.
Uploading and downloading photos, first kept for uploading/downloading will be completed first (Not if there is threading).
Handle website traffic
CPU scheduling
Applications of a Priority Queue
Process scheduling in the kernel.
Priority queues are used in file downloading operations in a browser
Vehicle at the toll center.
Applications of a Graph
Facebook’s Graph API uses the structure of Graphs.
Google’s Knowledge Graph also has to do something with Graph.
Dijkstra algorithm or the shortest path first algorithm also uses graph structure to find the smallest path between the nodes of the graph.
The GPS navigation system also uses shortest path APIs.
Networking components have a huge application for graph
Facebook, Instagram, and all social media networking sites every user is Node
Data organization
React’s virtual DOM uses graph data structures.
MS Excel uses DAG (Directed Acyclic Graphs).
Path Optimization Algorithms, BFS, DFS.
Recommendation Engines.
Scientific Computations, Flight Networks, Page ranking.
Google map to find nearest location.
Facebook to suggest mutual friends
Applications of the Trees
XML Parser uses tree algorithms.
The decision-based algorithm is used in machine learning which works upon the algorithm of the tree.
Databases also use tree data structures for indexing.
Domain Name Server(DNS) also uses tree structures.
File explorer/my computer of mobile/any computer
BST used in computer Graphics
Posting questions on websites like Quora, the comments are a child of questions.
Parsers(XML parser).
Code Compression(zip).
DOM in Html.
Evaluate an expression (i.e., parse).
Integral to compilers/automata theory.
To store the possible moves in a chess game.
To store the genealogy information of biological species.
Used by JVM (Java Virtual Machine) to store Java objects.
Applications of a Hashtable
Data stored in databases is generally of the key-value format which is done through hash tables.
Every time we type something to be searched in google chrome or other browsers, it generates the desired output based on the principle of hashing.
Message Digest, a function of cryptography also uses hashing for creating output in such a manner that reaching the original input from that generated output is almost next to impossible.
In our computers we have various files stored in it, each file has two very crucial pieces of information that is, the filename and file path, in order to make a connection between the filename to its corresponding file path hash tables are used.
Social network
feeds
.Password hashing.
Used for fast data lookup symbol table for compilers, database indexing, caches, Unique data representation.
To store a set of fixed keywords that are referenced very frequently.
Applications of Heaps
In heapsort Algorithm, is an algorithm for sorting elements in either min heap(the key of the parent is less than or equal to those of its children) or max heap(the key of the parent is greater than or equal to those of its children), sorting is done with the creation of heaps.
Heaps are used to implementing a priority queue where priority is based on the order of heap created.
Systems concerned with security and embedded system such as Linux Kernel uses Heap Sort because of the O(n log(n)).
If we are stuck in finding the
Kth
smallest (or largest) value of a number then heaps can solve the problem in an easy and fast manner.Used by JVM (Java Virtual Machine) to store Java objects