Summer training project on Data structures and algorithms.pptx
1. SUMMER TRAINING PROJECT ON DATA
STRUCTURES AND ALGORITHMS
NAME AASHISH KUMAR JANGIR
REGISTRATION NO. 12109538
COURSE CODE CSE 443
COURSE NAME DSA
2. • Below is my course
completion certificate
https://media.geeksforgee
ks.org/courses/certificates
/52d3edce8e2904e13f7eb
461ae92d09b.pdf
3. • Data structure can be defined as the group of data elements
which provides an efficient way of storing and organising data in
the computer.
• Data structure are widely used in almost every aspect of
Computer Science i.e Operating System. Compiler design,
Artificial Intelligence, Graphics and many more.
• Some examples of Data Structure are array, Linked List, Stack,
queue etc.
• Data structure are the building blocks of any program or the
software.
4. Topics covered during Training
Mathematic Linked
List
Bit magic Stack
Recursion Queue
Arrays Tree
Searching Binary
Search Tree
Sorting Heap
Matrix Graph
string
5. 1. Mathematics :-
we have learnt all the topics in Mathematics like gcd, lcm, hcf and Chinese remainder
theorem.
2. Bit magic :-
Bit magic implements algorithms for high-performance scientific computing: binary similarity
and clustering of binary sets.
3. Recursion :-
Some computer programming languages allows a module or function to call itself. This is
called recursion.
4. Array:-
An array is a collection of homogeneous data items stored in contiguous memory locations.
For example:- if an array is of type “int”,it can only store integer elements and cannot allow
the elements of other types such as double, float, char etc.
6. 5.Searching:-
Searching is the process of finding a given value position in a list of values. It decides whether a
search key is present in the data or not.
6.Sorting:-
Sorting refers to arranging data in a particular format.
Sorting algorithm specifies the way to arrange data in a particular order.
7. Matrix:-
Matrix is a way to store data in an organized form in the form of rows and columns. Matrix are
usually used in computer graphics to project 3-dimensional space onto a 2- dimensional screen.
8. String:-
A string is generally considered as a data type and is often implemented as an array
data structure of bytes (or words) that stores a sequence of Elements, typically
characters.
7. 9.Linked List:-
A linked list is a linear collection of data elements whose order is not given by their
physical placement in Memory. Each element points to the next.
10. Stack:-
Stack is a linear data structure which follows a particular order in which the operations
are performed.
The order may be LIFO or FILO.
11.Queue:-
Queue is an abstract Data Structure, a stack is open both its Ends. One end is always used to
insert the data(enqueue) and the other is used to remove the data(dequeue). It follows FIFO
methodology.
12.Tree:-
A tree is widely used abstract data type that simulates a hierarchical tree structure with a root
8. 13. Binary Search Tree:-
A binary search tree also called an ordered or sorted binary tree, is a rooted binary tree whose
internal nodes which stores a key greater than all the keys in the node’s left subtree and less than
those in its right subtree.
14. Heap:-
A heap is a specialized tree based data structure that satisfied the heap Property. This implies that
an element with the greatest key is always in the root node, and so such a heap is sometimes called
a max-heap. Of course there's also called a min-heap.
15. Graph:-
A graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also
referred to as vertices and the edges are lines that connect any two nodes in the graph.
16. Backtracking:-
Backtracking is an algorithmic-technique for solving problems recursively by trying to build a
solution incrementally.
9. 17. Dynamic Programming:-
Dynamic programming approach is similar to divide and conquer in breaking down the problem
into smaller and yet smaller possible Sub-Problems.
It is a powerful technique that can be used to solve many problems in time O(n^2) or O(n^3).
10. Conclusion
A module on Algorithms and Data Structures is supposed to make you better
programmers. We do that by stepping away from actual programming, and
try to view computer programs from the outside. We shall learn to solve
problems, describe solutions, analyse properties of the program, and prove
correctness without being distracted by the details of implementation.
The key skills and competencies to learn are:
1. Being able to communicate, discuss, and evaluate potential solutions and
partial designs for computer programs.
2. being able to prove that an algorithm is correct.
3. being able to assess the runtime complexity of an an algorithm.