0% found this document useful (0 votes)
12 views18 pages

SIP1

it's usually

Uploaded by

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

SIP1

it's usually

Uploaded by

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

SUMMER INTERNSHIP

REPORT ON
Data Structures and Algorithms

Submitted in partial fulfillment of the requirements for the


Degree of
Bachelor of Information Technology

Uttaranchal School of Computer Sciences

Session (2024 - 2025)

Under the Supervision of: Submitted by:

Mr. Yogesh Juyal Aaryan Gusain

(Assistant Professor) BSc. (IT), 5th Sem

Enroll No - UU2210000002
Acknowledgement

The most awaited moment of my endeavors is successful completion, but nothing can be done

successfully if done alone. Success is the outcome of the contributions and consistent help of various

people, and I would like to thank those who helped me successfully complete this project. Primarily,

I would like to thank Prof. (Dr.) Sonal Sharma, Director-USCS, for providing a healthy and

encouraging environment to study.

I am grateful to the Department of Computing Science, Dr. Sameer Dev Sharma, HOD-USCS, and

my project mentor, Mr. Yogesh Juyal, Assistant Professor-USCS. He has been generous enough to

provide me with an opportunity and accept my candidacy for the most valuable guidance and

affordable treatment given to us at every stage to boost my morale.

Aaryan Gusain
BSc. (IT), 5th Sem

I
Declaration

I hereby declare that the internship report entitled Data Structures and Algorithms is submitted by

Aaryan Gusain to Uttaranchal Institute of Computer Sciences. The internship was done under the

guidance of Mr. Yogesh Juyal, Assistant Professor, USCS. I further declare that the work reported

in this internship has not been submitted and will not be submitted, either in part or in full, for the

award of any other degree or diploma in this university or any other university or institute.

Aaryan Gusain

BSc. (IT), 5th Sem

Enroll No - UU2210000002

II
Certificate of Originality

This is to certify that the internship entitled Data Structures and Algorithms by Aaryan Gusain

has been submitted in the partial fulfilment of the requirements for the award of the degree of BSc.

(IT) from Uttaranchal University, Dehradun. The results embodied in this project have not been

submitted to any other university or institution for the record of any degree.

Under the guidance of:

Mr. Yogesh Juyal


(Assistant Professor)
Uttaranchal University, Dehradun

III
Certificate for Training Completion

IV
Table of Content

S. NO. TITLE PAGE

ACKNOWLEDGMENT I
DECALARATION II
CERTIFICATE OF ORIGINALITY III
COMPANY'S CERTIFICATE IV

TABLE OF CONTENTS V

1 COMPANY PROFILE 1

1.1 SERVICES 1

1.2 MISSION 1

1.3 VISION 1

2 INTRODUCTION 2

2.1 OBJECTIVES 2

2.2 EXPERIENCE 2
3 BRIEF SUMMARY OF SIP

3.1 FIRST WEEK OF INTERNSHIP 3

3.2 SECOND WEEK OF INTERNSHIP 4

3.3 THIRD WEEK OF INTERNSHIP 5

3.4 FOURTH WEEK OF INTERNSHIP 6

3.5 FIFTH WEEK OF INTERNSHIP 7

3.6 SIXTH WEEK OF INTERNSHIP 8

3.7 SEVENTH WEEK OF INTERNSHIP 9

3.8 EIGHTH WEEK OF INTERNSHIP 10


4 CONCLUSION 11
5 REFERENCES 12

8
COMPANY PROFILE

Services:
 Internship Opportunities: Internshala provides a wide range of internship
opportunities for students across different industries such as IT, marketing,
engineering, and design. This helps students gain practical experience and improve
their employability.
 Online Training Programs: Internshala offers online courses in key areas like
programming, data science, web development, and digital marketing. These
courses are designed to be practical and come with certifications that can help
boost a student's resume.

Mission:
Internshala's mission is to equip every student with practical skills and exposure so
that they can build their dream careers. Our e-learning platform, Internshala Trainings
(https://trainings.internshala.com)is central to this mission. With our Trainings
platform, we are driven towards bringing the most sought-after, in-demand skills to
our students. Our trainings are tailor-made and packed with insightful, simple, and
easy-to-understand video tutorials. They also provide hands-on practice with our
quizzes, tests, and projects that help the students apply what they've learned. We
dream of a worldwhere students can learn anytime, anywhere, at an affordable price
and can create a solid foundationfor themselves to build on. We dream of a world
where students can explore, learn, and grow.

Vision:
Internshala is a dot com business with the heart of dot org. we are a technology
company on a mission to equip students with relevant skills and practical exposure to
help them get the best possible start totheir careers. Imagine a world full of freedom
and possibilities. A world where you can discover yourpassion and turn it into your
career. A world where you graduate fully assured, confident, and preparedto stake a
8
claim on your place in the world.
INTRODUCTION

Objectives:
 Efficient Data Organization and Management: Data structures provide systematic
ways toorganize and manage data for effective storage, retrieval, and manipulation. The
choice of datastructure influences the performance and complexity of operations like
search, insert, update,and delete.

 Optimized Algorithm Performance: Algorithms define the step-by-step approach to


solvingcomputational problems. The goal is to design algorithms that minimize the use
of computational resources, such as time (efficiency) and space (memory), based on the
selecteddata structure.

 Scalability and Adaptability: Data structures and algorithms are designed to handle
a growing amount of data or larger problems efficiently. A well-chosen combination
ensures the system remains responsive, even as the problem size or data volume
increases.

Experience:
During my academic journey, I have diligently pursued coursework focused on Data
Structures and Algorithms, equipping myself with a strong foundation in both theoretical
concepts and practical implementation. I have successfully completed projects that
showcase my proficiency in these areas.

 The Data Structures and Algorithm internship was more than just learning technical
skills; it was about personal growth and professional development. I honed my
problem-solving abilities,
 enhanced my communication skills through collaboration, and gained practical
insights into data structures and algorithm

8
First Week of Internship
Overview
In the first week of the Data Structures and Algorithms internship, the focus was on understanding
the fundamentals of data structures, their types, and how they are used to optimize algorithmic
solutions. Theinitial lessons covered basic theoretical aspects and practical implementation of
common data structures.

1. Key Topics
Covered Introduction
to Data Structures

What is a Data Structure?


Importance in solving complex problems efficiently.
Types of Data Structures
 Primitive Data Structures: Arrays, Strings
 Non-Primitive Data Structures: Lists, Stacks, Queues, Linked Lists
 Algorithm Basics

Definition of algorithms and their importance in computing.


Steps to analyze an algorithm (time and space complexity).

2. Practical Learning
 Implementing Arrays and Lists:
 Learned how to define, manipulate, and traverse arrays and lists in Python/Java.
 Practice assignments focused on inserting, deleting, and searching elements in arrays and lists.
 Understanding Stack Operations:
 Introduction to LIFO (Last In First Out) concept.
 Implementation of stacks using arrays/lists and learning push/pop operations.

8
Second Week of Internship
Overview
The second week of the Data Structures and Algorithms internship focused on deeper exploration of
linearand non-linear data structures, particularly queues and linked lists. This week involved both
theoretical concepts and practical implementation, allowing me to understand the application and
advantages of thesedata structures in solving real-world problems.

Queues:
 Introduction to queue structure (FIFO: First In First Out).
 Types of queues: Simple Queue, Circular Queue, Priority Queue, and Deque.
 Basic operations: Enqueue, Dequeue, Peek.
 Real-life applications of queues, such as CPU scheduling and printer task management.

Linked Lists:
 Introduction to singly linked lists and doubly linked lists.
 Understanding node structure and how data and pointers work.
 Operations: Insertion, Deletion, Traversal of nodes.
 Comparison of linked lists with arrays, focusing on dynamic memory allocation.

Queue Implementation:

 Developed a queue using arrays and linked lists.


 Implemented enqueue and dequeue operations and worked on error-handling for
overflow andunderflow conditions.

Linked List Implementation:


 Created a singly linked list and performed insertion at the beginning, middle, and end of
the list.
 Implemented deletion of nodes and traversal through the linked list to display elements.

8
Third Week of Internship
Overview
In the third week of the Data Structures and Algorithms internship, the focus shifted towards non-
linear datastructures, particularly trees. The week also introduced recursive algorithms and their
relationship to tree traversal techniques. This was a crucial week in developing a solid understanding
of hierarchical data structuresand their real-world applications.

Topics Covered:

Trees:

 Introduction to tree data structures, their hierarchical nature, and key


components (root, nodes,edges, leaves).

 Types of trees: Binary Tree, Binary Search Tree (BST), AVL Tree, etc.

 Basic operations on trees: Insertion, Deletion, Traversal.

Tree Traversal Techniques:

 Depth First Search (DFS): Pre-order, In-order, Post-order traversal.

 Breadth First Search (BFS): Level-order traversal.

 Practical applications of tree traversal, such as file system hierarchies and network routing.

Recursive Algorithms:

 Introduction to recursion and its importance in tree traversal.

 Writing recursive functions to solve problems like factorial, Fibonacci, and tree traversal.

8
Fourth Week of Internship
Overview
During the fourth week of my internship on Data Structures and Algorithms, I focused on advanced
topics and solving more complex problems. My learning this week emphasized improving my
problem-solvingskills and optimizing algorithm performance.

Topics Covered:

Dynamic Programming (DP):

 Studied the concept of breaking a problem into subproblems, solving each subproblem
once, andstoring the solutions.
 Implemented famous DP algorithms like Knapsack, Longest Increasing
Subsequence, andFibonacci.
 Improved my understanding of memoization and tabulation techniques.

Graph Algorithms:

 Explored various graph traversal techniques such as Depth-First Search (DFS) and
Breadth-FirstSearch (BFS).
 Worked on problems involving shortest paths using Dijkstra’s and Bellman-Ford algorithms.

 Learned about Minimum Spanning Tree algorithms such as Kruskal's and Prim's.

Greedy Algorithms:

 Studied the greedy technique for optimization problems.

 Implemented algorithms like the Activity Selection Problem and Huffman Coding.

8
Fifth Week of Internship
Overview
This week, my focus was primarily on enhancing my understanding and practical application of
advanceddata structures and algorithms. I continued to work on ongoing projects and was assigned
new tasks to deepen my knowledge and skills.

1. Advanced Data Structures Implementation


 Task: Implemented advanced data structures such as Red-Black Trees and AVL Trees.
 Details: Developed a balanced binary search tree (Red-Black Tree) and an AVL Tree from
scratch. Emphasized balancing techniques to ensure efficient operations.
 Learning Outcome: Gained a thorough understanding of self-balancing trees, their insertion,
deletion, and rotation mechanisms. Improved problem-solving skills in maintaining balance and
ensuring optimal performance.

2. Algorithm Optimization
 Task: Optimized sorting algorithms for better performance in real-world scenarios.
 Details: Focused on algorithms like QuickSort and MergeSort, analyzing their time complexity
and optimizing them for different data sets.
 Learning Outcome: Improved ability to identify bottlenecks in algorithms and apply
optimization techniques to enhance performance.

3. Graph Algorithms
 Task: Worked on implementing and understanding graph algorithms including Dijkstra’s
shortest path algorithm and A* search algorithm.
 Details: Implemented these algorithms to solve various pathfinding problems and analyze their
efficiency.
 Learning Outcome: Enhanced understanding of graph theory, shortest path algorithms, and
their practical applications in problem-solving.

8
Sixth Week of Internship
Overview
This week, I focused on advanced algorithmic techniques and their applications in solving complex
problems. I worked on new projects and continued to refine my skills in various data structures and
algorithms.

1. Dynamic Programming and Optimization

 Task: Implemented dynamic programming solutions for complex problems.

 Details: Worked on problems like the Knapsack problem, Longest Common


Subsequence, andMatrix Chain Multiplication. Focused on optimizing solutions for time
and space efficiency.
 Learning Outcome: Gained a deeper understanding of dynamic programming, learned
to breakproblems into smaller sub-problems, and improved skills in creating efficient
algorithms.

2. Advanced Graph Algorithms

 Task: Explored and implemented advanced graph algorithms, including Floyd-


Warshall andKruskal’s algorithm.
 Details: Implemented algorithms for finding the shortest paths in weighted graphs and
minimumspanning trees. Analyzed their efficiency and compared them to other
algorithms.

3. Data Structures in Real-World Applications

 Task: Applied various data structures to real-world scenarios.

 Details: Worked on projects involving the use of heaps, hash tables, and tries.
Developed solutionsfor problems like caching and data retrieval.

8
Seventh Week of Internship
Overview
This week, my focus shifted to exploring and implementing advanced data structures and algorithms,
as well as their practical applications in various scenarios. I also collaborated on new projects and
further honed my skills through hands-on tasks and team interactions.

Tasks and Learning Outcomes

1. Segment Trees and Fenwick Trees


 Task: Implemented and analyzed Segment Trees and Fenwick Trees (Binary Indexed Trees).
 Details: Developed these data structures to handle range queries and updates efficiently.
Workedon understanding their applications in various problem scenarios.
 Learning Outcome: Acquired a thorough understanding of range query problems,
improved skillsin implementing and optimizing these data structures, and learned their
practical applications in competitive programming.

2. Advanced Sorting and Searching Algorithms


 Task: Implemented and optimized advanced sorting and searching algorithms.
 Details: Focused on algorithms such as HeapSort, RadixSort, and Binary Search
Variants.Analyzed their performance and compared them with traditional algorithms.
 Learning Outcome: Enhanced knowledge of sorting and searching techniques, learned
to applythem effectively based on data characteristics and problem requirements.

3. Real-World Problem Solving


 Task: Applied data structures and algorithms to solve real-world problems.
 Details: Worked on projects involving large-scale data processing, optimized algorithms
for performance, and integrated solutions into existing systems.
 Learning Outcome: Gained experience in applying theoretical knowledge to practical
scenarios, improved problem-solving skills in real-world applications, and learned to
balance efficiency withcomplexity.

8
Eighth Week of Internship
Overview
This week was dedicated to exploring complex algorithms and their applications, as well as
working on refining my skills through collaborative efforts and hands-on projects. I also focused on
integrating advanced concepts into practical solutions.

Tasks and Learning Outcomes

1. Network Flow Algorithms


 Task: Implemented and analyzed network flow algorithms such as the Ford-
Fulkerson methodand Edmonds-Karp algorithm.
 Details: Developed solutions for problems involving maximum flow and flow
networks. Focused on understanding algorithmic complexities and real-world
applications.
 Learning Outcome: Gained insights into network flow problems, improved problem-
solvingskills related to optimizing flow in networks, and understood practical uses in
scenarios like resource allocation and network design.

2. String Processing Algorithms


 Task: Worked on advanced string processing algorithms including KMP (Knuth-
Morris-Pratt)and Rabin-Karp algorithms.
 Details: Implemented these algorithms to solve string matching and searching
problems efficiently. Analyzed their performance for various types of input data.
 Learning Outcome: Enhanced skills in string pattern matching, learned to handle
large-scale text processing efficiently, and improved understanding of algorithmic
trade-offs in string processing

10
Conclusion

In conclusion, Internshala's Data Structures and Algorithms (DSA) course offers a robust and

practical approach to mastering essential programming concepts. By covering fundamental data

structures and algorithms, the course not only enhances technical proficiency but also prepares

learners for real-world challenges and technical interviews. Through a blend of theoretical insights

and hands-on exercises, students gain valuable skills that are critical for software development and

problem-solving. With expert guidance and an engaging learning environment, this course is an

excellent opportunity for anyone looking to deepen their understanding of DSA and advance their

career in the tech industry

11
References
Internshala
Official
Website
Internshala

The primary source for course details, company information, and contact details.

Internshala Course Details Page


DSA Course on Internshala
Direct link to the specific course page for detailed curriculum and enrollment
information.

Reviews and Testimonials


Look for reviews on educational forums or websites like Trustpilot or
SiteJabber to see feedback frompast students.

LinkedIn
Internshala LinkedIn
Professional updates and insights from the company’s LinkedIn page.

Educational Blogs and Articles


Articles or blog posts from reputable educational sites that discuss the importance of
DSA in softwaredevelopment can provide context. For example:

1. GeeksforGeeks - Data Structures and Algorithms


2. HackerRank - Algorithms

11

You might also like