Topics In Demand
Notification
New

No notification found.

Everyday Use of Data Structures and Algorithms
Everyday Use of Data Structures and Algorithms

November 18, 2022

614

0

 

 

From the earliest programming languages to the present generation of programming languages, computer programming has come a long way. It has since become more powerful, efficient, and sophisticated. But the fundamental principles underlying data structures and algorithms have remained constant over time. DSA has been the basis for computer programming ever since it was created.

 

Data Structure and Algorithm (DSA): What is it?

Data structures and algorithms, a subject of computer science, are responsible for creating computer programmes that are machine-efficient and optimized. Algorithms are used to define problem-solving techniques, whereas data structures are used to organize and store data. In software engineering, we optimize the codes by fusing "data structure" with "algorithm."

 

DSA in Software Development

Data structure and algorithm (DSA) is used across all software development disciplines.DSA is the cornerstone of the software development process. It's not constrained to just one kind of programming language. DSA is implemented into all programming languages, even though some of them mutate or go extinct over time.

Selecting a suitable data structure and algorithm determines how effectively software is developed.

 

In some circumstances, you might be given the best data structure to use with a reliable method. The code will only deliver the desired result if the two are compatible. Therefore, choosing a suitable data structure for an algorithm is a crucial step in the software development process.

 

How does DSA apply to your regular life?

Let's look at some real-world DSA applications.

Data Structures

  • Utilizing a Stack Data Structure to Reverse a String

A stack is a linear data structure, with the term "linear" denoting the arrangement of the items. A new element can only be accessed after the earlier elements have been accessed.

 

Why do we need a stack representation?

You might be wondering why a programmer must learn how to stack and remove plates from a pile. Let's investigate the solution. You have been tasked with reversing a string. What method would you use?

 

  • Queue Data Structure while Boarding a Bus

You might be wondering why a programmer must learn how to stack and remove plates from a pile. Let's investigate the solution. You have been tasked with reversing a string. What method would you use?

 

Why is a queue representation necessary?

 

You might wonder how a queue functions on a computer. Assume you are in your office where five machines are connected to a network. These computers are all connected to the same printer by you. Let's say a worker wants to print some documents and uses his computer to send a command to the printer. After receiving the instructions, the printer begins printing the documents.

 

  • Google Maps and the Social Media Graph Data Structure

A graph is a collection of related objects. Each item is known as a node, and the connection between them is known as an edge.

You most likely use websites like Instagram, Facebook, LinkedIn, and others. Social media is an excellent illustration of a graph in use. In social media, user data is stored in graphs. 

Each user, in this instance, acts as a node, much like in Graph.

 And if one user, let's call him Jack, befriends another user, let's call her Rose, then Jack and Rose have an edge (connection).

Algorithms

 

  • Algorithm for Sorting Books on a Shelf

Simply put, sorting is the systematic arrangement of similar items. Consider how you might arrange books on a shelf according to their height. The taller books will be on the left, and the shorter books will be on the right if we do it the other way around.

 

Algorithms for sorting use this same idea. In DSA, various sorting methods are accessible. The objective of each algorithm is the same, but each algorithm behaves differently for various reasons.

 

  • There are a few things to consider in the example above if we want to sort the books as quickly as possible.
  • Can the books on the shelf be moved around? We might need additional time if the books are heavy. Similarly, there can be further restrictions. (accessibility)
  • How many books are there in total? (Data volume)
  • How quickly can we get to them? (The capacity of hardware)

 

  • Finding a Book in a Shelf Using a Searching Algorithm

Searching helps people find things, as the name suggests.

Say you want to search for a specific book on a shelf. The books in my collection are not in any particular order. How would you find the book in the shortest period of time if you were to? DSA provides the solution to this issue.

You may think, "I'll start looking for the book at the beginning and find it." You will be searching from the top of the shelf to the bottom.



 

  • Finding the Shortest Path in a Google Map Using Shortest Path Finding Algorithms

Have you ever wondered how Google Maps can provide the quickest route to your destination? Shortest Path Finding Algorithms, a class of algorithms, are used by programmes like Google Maps to do this.

These algorithms search a graph for the shortest path. We may utilize graph algorithms to discover the shortest path between two specified places on a map, just like the example covered in the Graph data structure above.

Find the quickest route between points A and F on the following map to demonstrate the issue.

 

There is just one way to go to F from D. We can travel to B from D as well, but since B has already been reached, it is not considered. By choosing the DF route, we arrive at our destination.

 


 


That the contents of third-party articles/blogs published here on the website, and the interpretation of all information in the article/blogs such as data, maps, numbers, opinions etc. displayed in the article/blogs and views or the opinions expressed within the content are solely of the author's; and do not reflect the opinions and beliefs of NASSCOM or its affiliates in any manner. NASSCOM does not take any liability w.r.t. content in any manner and will not be liable in any manner whatsoever for any kind of liability arising out of any act, error or omission. The contents of third-party article/blogs published, are provided solely as convenience; and the presence of these articles/blogs should not, under any circumstances, be considered as an endorsement of the contents by NASSCOM in any manner; and if you chose to access these articles/blogs , you do so at your own risk.


© Copyright nasscom. All Rights Reserved.