Department Of Telecommunication
HAZARA UNIVERSITY MANSEHRA.
ASSIGNMENT # 1
Topic: Applications and Uses of Data Structures in Daily Life
& Differences Between Algorithm and Pseudocode
Subject : Data Structure and Algorithm
Submitted to:
[Link]
Submitted by:
Saad Zia
Roll# 305-241054
Section: Telecom. 2nd
Submission Date:
20th March 2025
Assignment: Applications and Uses of Data Structures in Daily
Life & Differences Between Algorithm and Pseudocode
Introduction
Data structures play a vital role in organizing and managing data efficiently in computer
science. They provide systematic ways to store, access, and manipulate data, ensuring
optimal performance in various real-life applications. Additionally, understanding the
distinction between algorithms and pseudocode is fundamental in programming and
problem-solving. This assignment explores the practical uses of data structures in everyday
life and differentiates between an algorithm and pseudocode.
Part A: Applications and Uses of Data Structures in Daily Life
1. Arrays
Application: Used for storing ordered data in a sequential manner.
Examples in Daily Life:
Contacts in a Phone: A smartphone’s contact list is an example of an array where names and
numbers are stored in an indexed manner.
Timetable Scheduling: University class schedules are structured as arrays, making it easy to
access information by indexing subjects and time slots.
2. Linked Lists
Application: Efficient for dynamic memory allocation and inserting/deleting data frequently.
Examples in Daily Life:
Music Playlists: When listening to songs on a media player, songs are linked together,
allowing easy navigation between the previous and next tracks.
Social Media Feeds: Facebook, Instagram, and Twitter use linked lists to display posts in a
continuous and dynamic manner.
3. Stacks
Application: Follows the Last-In-First-Out (LIFO) principle.
Examples in Daily Life:
Undo and Redo Functionality: In word processors or graphic design tools, the undo and redo
features rely on stacks to maintain the last performed actions.
Browser History: Web browsers use stacks to store visited pages, allowing users to navigate
back and forth efficiently.
4. Queues
Application: Follows the First-In-First-Out (FIFO) principle, useful for sequential
processing.
Examples in Daily Life:
Ticket Booking Systems: Online ticket reservations for trains, flights, or movies use queues
to process requests in order.
Call Centers: Customer service helplines maintain a queue to attend callers in the order they
dialed in.
5. Trees
Application: Hierarchical data structure used for searching, sorting, and organizing data.
Examples in Daily Life:
File Systems: Computer operating systems use tree structures to store and organize files in
directories and subdirectories.
Organizational Charts: Companies use hierarchical structures (trees) to represent employees
and their reporting relationships.
6. Graphs
Application: Represents relationships between interconnected elements.
Examples in Daily Life:
Google Maps & GPS Navigation: Road networks are modeled as graphs where intersections
represent nodes, and roads represent edges.
Social Networks: Facebook and LinkedIn use graphs to connect people based on friendships
and professional relationships.
7. Hash Tables
Application: Stores data in key-value pairs for fast retrieval.
Examples in Daily Life:
Database Indexing: Hashing techniques speed up database queries by reducing search time.
Password Management: Hashing algorithms store encrypted passwords securely.
8. Heaps
Application: Used for priority-based applications.
Examples in Daily Life:
Task Scheduling: Operating systems use heaps to prioritize and schedule processes
efficiently.
Emergency Services: Call dispatch systems use priority queues (heaps) to handle urgent
medical or police requests first.
Part B: Difference Between Algorithm and Pseudocode
Example of Algorithm and Pseudocode
Algorithm for Finding the Largest of Three Numbers
1. Start
2. Input three numbers: A, B, and C
3. If A > B and A > C, print A as the largest
4. Else if B > A and B > C, print B as the largest
5. Else, print C as the largest
6. End
Pseudocode for Finding the Largest of Three Numbers
BEGIN
INPUT A, B, C
IF A > B AND A > C THEN
PRINT “A is the largest”
ELSE IF B > A AND B > C THEN
PRINT “B is the largest”
ELSE
PRINT “C is the largest”
ENDIF
END
Conclusion
Data structures are fundamental in organizing data efficiently in various real-world
applications, including search engines, social media, transportation systems, and operating
systems. Their effective implementation ensures smooth operations in different domains.
Additionally, understanding the distinction between an algorithm and pseudocode helps in
problem-solving and programming. While an algorithm is a theoretical framework for
problem-solving, pseudocode bridges the gap between an algorithm and actual
implementation in a programming language.