Introduction to
Algorithms
Presented By:
Sourav Kumar Pandey
Md Ainen Alam
Sourav Kumar Choudhry
Abhinav Kumar Ojha
Context
• Definition
• History
• Used for data Processing
• Evolution in the digital
• Characteristics
• Definiteness of each step
• Representation Of Algorithm
• Structure
• Conclusion
History
The word "algorithm" derives from the name of
Persian mathematician Al-Khwarizmi (circa 780–
850 CE), whose work on arithmetic and algebra
laid the foundation for systematic problem-solving
procedures.
Definition
An algorithm in C is a step-by-step
procedure to solve a specific problem or
perform a task, implemented using the C
programming language. It's a set of
instructions that takes some input,
processes it, and produces an output.
Implemented in various programming languages
• 1. Algorithm Flexibility
• Algorithms can be written in any programming
language, adapting to its syntax.
• 2. Variable Across Contexts
• This flexibility allows algorithms to be used in different
technical areas, regardless of the programming
language.
• 3. Language Independence
• The core logic of an algorithm remains the same, no
matter the programming language used to implement
it.
Used for data
processing and task
automation
• 1. Handling Large Datasets
• Algorithms help process and manage large
amounts of data quickly and efficiently.
• 2. Automating Tasks
• They automate repetitive tasks, saving time
and effort in programming.
• 3. Boosting Productivity
• Algorithms improve productivity by making
data handling faster and more efficient in
software development.
Evolution in the
digital age with
Turing's contributions
• 1. Alan Turing's Impact
• Alan Turing made major advancements in algorithms
during the 20th century.
• 2. The Turing Machine
• He introduced the concept of the Turing machine, a
theoretical model for computation.
• 3. Foundation of Computer Science
• Turing's work became a key foundation for modern
computer science and computational theory.
Characteristics
• Finiteness • Generality
• Definiteness • Language Independence
• Input • Space Complexity
• Output • Time Complexity
• Effectiveness• Clarity
• Correctness • Efficiency
Definiteness
of each step
• 1. Clear Definition of Steps
• Every step in an algorithm must be well-
defined to avoid confusion.
• 2. Consistent Interpretation
• Clear steps ensure that the algorithm is
understood the same way by everyone.
• 3. Easy Implementation
• Precise instructions make it easier for
anyone to implement the algorithm
correctly.
Representation
Representation Of Algorithm
Pseudo Code:
Step 1: Input S1,S2,S3,S4.
Step 2: GRADE = (S1+S2+S3+S4)/4
Step 3: if (GRADE < 50) then
Print “FAIL”
Else
Print “PASS”
End if
Inputs and outputs of the algorithm
1. Inputs
• An algorithm takes zero or more inputs,
which are the data it processes.
2. Outputs
• The algorithm produces outputs, which
are the results after processing the
inputs.
3. Defining Functionality
• The relationship between inputs and
outputs defines what the algorithm does.
Pseudocode structure
1. Structured Representation
• Pseudocode combines natural language and
programming syntax to represent algorithms.
2. Easy to Understand
• It’s a clear way to describe algorithms
without worrying about specific coding rules.
3. Bridges Concept and Code
• Pseudocode helps move from the idea of an
algorithm to actual implementation in code.
Flowchart
visualizations
Flowcharts are graphical
representations of
algorithms that use
symbols to depict steps
and their order. They help
visualize the decision-
making process and are
beneficial in
understanding complex
algorithms.
Conclusions
Understanding algorithms is
essential for problem-solving
in computer science. By
recognizing their
characteristics, historical
context, design techniques,
and methods of
representation, one can
effectively apply algorithms
in various programming
scenarios.
Thank you!
• Do you have any questions?
Special Thanks to:
Mr. Abhinandan Ghosh
•For his guidance and support.
CREDITS: This presentation template was created by Slidesgo,
and includes icons, infographics & images by Freepik
+ 9 1 6 2 0 4 2 1 8 3 8