Data Structures and Algorithms Geeksforgeeks Summer Training Report
Data Structures and Algorithms Geeksforgeeks Summer Training Report
GeeksforGeeks
Submitted to
LOVELY PROFESSIONAL
SUBMITTED BY
Dated:
27/09/2020
ACKNOWLEDGEMENT
I would like to express my gratitude towards my University as well as Geeks for Geeks for
providing me the golden opportunity to do this wonderful summer training regarding DSA,
which also helped me in doing a lot of homework and learning. As a result, I came to know
about so many new things. So, I am really thank full to them.
Moreover I would like to thank my friends who helped me a lot whenever I got stuck in some
problem related to my course. I am really thankfull to have such a good support of them as they
always have my back whenever I need.
Also,I would like to mention the support system and consideration of my parents who have
always been there in my life to make me choose right thing and oppose the wrong. Without
them I could never had learned and became a person who I am now.
I have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. I would like to extend my sincere thanks
to all of them.
Certification of GeeksforGeeks
Table of Contents
S. No. Title
1 Introduction
3 Concepts Learnt
4 Learning Outcome
5 Conclusion
6 Bibliography
INTRODUCTION OF THE TRAINING
• Master the implementation of linked data structures such as linked lists and binary trees
• To be familiar with advanced data structures such as balanced search trees, hash
tables, priority queues and the disjoint set union/find data structure
• Master the standard data structure library of a major programming language (e.g.
java.util in Java 5)
• Master analysing problems and writing program solutions to problems using the above
techniques
No matter how advanced we go in the field of computer science and technology, DSA will travel
with us. And it will continue. Programming languages may change. But the way they are treated
way of representation. But it stays on. It is the best as in IT or CS field we should have
knowledge of data structure as it is called as the core of IT. Every IT company always looks for
good knowledge on data structures. So, having a hold in data structures always add an edge to
career.
We should be confident with algorithms expressed using both iteration and recursion, and have
some idea of how to convert algorithms expressed using recursion into iteration. We should be
able to use and design linked data structures, but appreciate why it is good programming style to
hide the details of a data structure within an abstract data type.
REASON FOR CHOOSING DSA
All of the above was part of my training during my summer break I specially choose the DSA by
Geeks for Geeks for reasons stated below :
• Data structure is a thing you need to know no matter in which language do you code.
• One need to learn how to make algorithm of a real life problem he/she is facing.
• It had video lectures of all the topics from which one can easily learn. I prefer learning
from video rather than books and notes. I know books and notes and thesis have their
own significance but still video lecture or face to face lectures make it easy to understand
faster as we are involved Practically.
• It was a great opportunity for me to invest my time in learning instead of wasting it here
and there during my summer break in this Covid-19 panademic.
• This was a life time accessable course which I can use to learn even after my training
whenever I want to revise.
• Along with all these reasons one of the reasons was the Geeks for Geeks platform which
is offering the course because Geeks for Geeks is one of the best platforms for Computer
Science Students.
Concepts Learnt
The following tracks and contest that I have learnt and necessary to score the mentioned marks to
get the certificate.
• We can try another method in which we can directly go to page no. 1000 and we can
see if our roll no. is there or not if not, we can move ahead and by repeating this and
eliminating we can search our roll no. in no time.
I have learnt a vast number of topics like Trees, Graphs, Linked Lists, Arrays, etc. I understood
their basics, there working, there Implementation, and their practical use in the problems we face
while we solve a problem using coding.
When we work in IT sector (Software or Programing part to be specific) we need to solve the
problems and make programs write tons of code which will help us with the given problem and
to write a program one need to make different algorithms. Many algorithms combine to make a
program. Now, algorithm are writen in some lenguages but they are not dependen ton them, one
need to make a plan and algo first then write it into any language wether i tis C++ or JAVA or C
or any other programing language. Algorith is based on data structure and its implementation
and working. So, basiclly one need to have a good grip on DSA to work in programing sector.
When you ask someone to make a decision for something the good one will be able to tell you “I
chose to do X because it’s better than A, B in these ways. I could have gone with C, but I felt this
was a better choice because of this “. In our daily life, we always go with that person who can
complete the task in a short amount of time with efficiency and using fewer resources. The same
things happen with these companies. The problem faced by these companies is much harder and
at a much larger scale. Software developers also have to make the right decisions when it comes
to solving the problems of these companies.
Knowledge of data structures like Hash Tables, Trees, Tries, Graphs, and various algorithms
goes a long way in solving these problems efficiently and the interviewers are more interested in
seeing how candidates use these tools to solve a problem.
I learned about how to break a problem into pieces and then find the solution then how to maket
he desired algorithm which will help me to solve my respective problem.
This will help me during my career as a programmer and afterwards also whenever I need to
code. We are surrounded by a lot of real-world complex problems for which no one has the
solution. Observe the problems in-depth and you can help this world giving the solution which
no one has given before.
Conclusion
In conclusion, data structures are a great tool to computer science and the professionals who
utilize them. Data structures have their advantages and disadvantages like everything in our
lives. Only advance users can make changes to data structures, and any problem involving data
structure will need a professional to rectify. Luckily, there are more advantages than there are
disadvantages. Data structures allow information storage, it provides the means for management
of large data like databases, work together and are necessary for efficient algorithms, safe storage
of data, allows easier processing of data, and the use of the internet to access data anytime. With
those odds, this makes it easy to accept that without these applications in our lives, life would be
that much harder when dealing with computer science and even our day to day tasks.
BIBLIOGRAPHY