0% found this document useful (0 votes)
21 views8 pages

Data Structures and Algorithms Self Paced Training Report

This report outlines a self-paced training course on Data Structures and Algorithms completed from June 27th to August 10th, 2024, through GeeksforGeeks. It covers various topics including data structures, algorithms, sorting, searching, and project implementations, highlighting the skills acquired and the benefits for interview preparation. The report also details a hotel management project that incorporates room booking, customer management, and food ordering functionalities.

Uploaded by

souradas47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views8 pages

Data Structures and Algorithms Self Paced Training Report

This report outlines a self-paced training course on Data Structures and Algorithms completed from June 27th to August 10th, 2024, through GeeksforGeeks. It covers various topics including data structures, algorithms, sorting, searching, and project implementations, highlighting the skills acquired and the benefits for interview preparation. The report also details a hotel management project that incorporates room booking, customer management, and food ordering functionalities.

Uploaded by

souradas47
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Data Structures

and Algorithms -
Self Paced Training
Report
This report documents my self-paced training on Data Structures
and Algorithms, undertaken from June 27th, 2024, to August 10th,
2024. The course was provided by GeeksforGeeks, a renowned
platform for learning computer science concepts. This report
details the technologies learned, projects undertaken, and the
overall learning outcomes of this enriching experience.

by Soura Reox
Introduction to Data Structures and
Algorithms
1 Data Structures
A data structure is a method of organizing and managing data to perform operations
efficiently. It involves arranging data elements based on specific relationships to improve
organization and storage.

2 Algorithms
An algorithm is a set of step-by-step instructions or logic, arranged in a specific order, to
achieve a particular task. It is the fundamental solution to a problem, presented either as a
high-level description in pseudocode or through a flowchart, but it is not the full code or
program.

3 Course Structure
This course provided a comprehensive learning experience, guiding me through Data
Structures and Algorithms from the basics to advanced concepts. The curriculum is
structured into 8 weeks, allowing participants to work through practice problems and
assessments at their own pace.

4 Benefits
The course offers a variety of programming challenges that are invaluable in preparing for
interviews with leading companies like Microsoft, Amazon, Adobe, and others.
Technology Learnt: Analysis of Algorithms

1 Order of Growth
I learned about the mathematical representation of growth analysis using limits and functions, including a straightforward approach to determining the order of growth.

2 Asymptotic Notations
This covered the best, average, and worst-case scenarios, explained through example programs.

3 Big O Notation
The concept was explained both graphically and mathematically, with calculations and applications demonstrated using Linear Search.

4 Omega Notation
I explored this notation through graphical and mathematical explanations, along with calculations.

5 Theta Notation
The Theta notation was explained with graphical and mathematical insights, including detailed calculations.

6 Recursion Analysis
This included various calculations using the Recursion Tree method.

7 Space Complexity
I explored basic programs, auxiliary space, and analyzed the space complexity of recursive functions and the Fibonacci sequence.
Technology Learnt: Arrays and Searching

Arrays Searching

An overview of arrays and their advantages. I learned both iterative and recursive approaches
Covered fixed-sized and dynamic-sized arrays. to binary search, along with associated problems.
Studied operations like searching, insertion, Explored problems that utilize the two-pointer
deletion, comparison with other data structures, approach.
and reversing arrays with complexity analysis.
Technology Learnt: Sorting
Algorithms
STL Sort in C++
Implementing the sort() function in arrays and vectors in C++
with a focus on time complexities.

Stability in Sorting Algorithms


Analyzed stable and unstable sorting algorithms with examples.

Sorting Algorithms
I implemented and analyzed sorting algorithms like Insertion
Sort, Merge Sort, and Quick Sort (including Lomuto and Hoare
partitioning methods), along with their time and space
complexities, pivot selection, and worst-case scenarios.
Technology Learnt: Linked Lists and
Stacks
Linked Lists Stacks

An introduction to linked lists with An overview of the stack data structure and its
implementations in C++ and Java. Explored applications. Implementation of stacks using
doubly linked lists and circular linked lists. arrays and linked lists in C++ .
Covered problems like detecting loops using
Floyd's cycle detection algorithm, and detecting
and removing loops in linked lists.
Technology Learnt: Trees and
Graphs
Trees Basics of trees, including binary trees
and their applications. Implemented
various tree traversal techniques like
Inorder, Preorder, Postorder, Level
Order (line by line).

Graphs Basics of graph data structures and


their representation using adjacency
matrix and adjacency list in C++ and
Java. Implemented Breadth-First Search
(BFS) and Depth-First Search (DFS)
along with their applications. Studied
algorithms for finding the shortest path
in Directed Acyclic Graphs, Prim's
Algorithm for Minimum Spanning Tree,
Dijkstra's Shortest Path Algorithm,
Bellman-Ford Algorithm, Kosaraju's
Algorithm.
Hotel Management Project
Room Booking Customer Information Room Allocation Display
Management
Customers can book rooms based A summary of all allotted rooms is
on availability. The system The system allows hotel staff to available, displaying key details like
categorizes rooms into Deluxe, record and manage customer room number, guest name,
Executive, and Presidential types, details such as name, address, address, room type, and contact
each with different pricing phone number, and duration of information in a structured format.
structures. It ensures that booked stay. This information is stored in a
rooms are marked unavailable and file for easy retrieval and
prevents double booking. modification.

Customer Edit and Checkout Food Ordering Service


Hotel staff can edit customer information, including Customers can order meals (breakfast, lunch, and
name, address, phone number, and the duration of stay. dinner) directly from their rooms. The cost of these
The system also facilitates smooth customer checkout, meals is automatically added to the customer's total bill.
updating the availability of rooms and finalizing bills.

You might also like