SlideShare a Scribd company logo
What is Algorithm
Introduction to Algorithms
Definition of Algorithm
The word Algorithm means ” A set of finite rules or
instructions to be followed in calculations or other
problem-solving operations ”
Or
” A procedure for solving a mathematical problem in a
finite number of steps that frequently involves recursive
operations”.
Therefore Algorithm refers to a
sequence of finite steps to solve
a particular problem.
Use of the Algorithms:
Algorithms play a crucial role in various fields and have many applications. Some of the key
areas where algorithms are used include:
Computer Science: Algorithms form the basis of computer programming and are used to
solve problems ranging from simple sorting and searching to complex tasks such as artificial
intelligence and machine learning.
Mathematics: Algorithms are used to solve mathematical problems, such as finding the
optimal solution to a system of linear equations or finding the shortest path in a graph.
Operations Research: Algorithms are used to optimize and make decisions in fields such as
transportation, logistics, and resource allocation.
Artificial Intelligence: Algorithms are the foundation of artificial intelligence and machine
learning, and are used to develop intelligent systems that can perform tasks such as image
recognition, natural language processing, and decision-making.
Data Science: Algorithms are used to analyze, process, and extract insights from large
amounts of data in fields such as marketing, finance, and healthcare.
These are just a few examples of the many applications of algorithms. The use of algorithms is
continually expanding as new technologies and fields emerge, making it a vital component of
modern society.
Algorithms can be simple and complex depending on what you want to achieve.
It can be understood by taking the example of cooking a new recipe. To cook a new recipe, one
reads the instructions and steps and executes them one by one, in the given sequence. The
result thus obtained is the new dish is cooked perfectly. Every time you use your phone,
computer, laptop, or calculator you are using Algorithms. Similarly, algorithms help to do a task
in programming to get the expected output.
The Algorithm designed are language-independent, i.e. they are just plain instructions that can
be implemented in any language, and yet the output will be the same, as expected.
What is the need for algorithms?
Algorithms are necessary for solving complex problems efficiently and effectively.
They help to automate processes and make them more reliable, faster, and easier to perform.
Algorithms also enable computers to perform tasks that would be difficult or impossible for
humans to do manually.
They are used in various fields such as mathematics, computer science, engineering, finance,
and many others to optimize processes, analyze data, make predictions, and provide solutions
to problems.
What are the Characteristics of an Algorithm?
As one would not follow any written instructions to cook the recipe,
but only the standard one. Similarly, not all written instructions for
programming are an algorithm. For some instructions to be an
algorithm, it must have the following characteristics:
•Clear and Unambiguous: The algorithm should be unambiguous.
Each of its steps should be clear in all aspects and must lead to only
one meaning.
•Well-Defined Inputs: If an algorithm says to take inputs, it should be
well-defined inputs. It may or may not take input.
•Well-Defined Outputs: The algorithm must clearly define what
output will be yielded and it should be well-defined as well. It should
produce at least 1 output.
•Finite-ness: The algorithm must be finite, i.e. it should terminate after a finite time.
•Feasible: The algorithm must be simple, generic, and practical, such that it can be
executed with the available resources. It must not contain some future technology or
anything.
•Language Independent: The Algorithm designed must be language-independent, i.e. it
must be just plain instructions that can be implemented in any language, and yet the
output will be the same, as expected.
•Input: An algorithm has zero or more inputs. Each that contains a fundamental operator
must accept zero or more inputs.
• Output: An algorithm produces at least one output. Every instruction that contains a
fundamental operator must accept zero or more inputs.
unambiguous, precise, and easy to interpret. By referring to any of
the instructions in an algorithm one can clearly understand what is
to be done. Every fundamental operator in instruction must be
defined without any ambiguity.
•Finiteness: An algorithm must terminate after a finite number of
steps in all test cases. Every instruction which contains a
fundamental operator must be terminated within a finite amount of
time. Infinite loops or recursive functions without base conditions
do not possess finiteness.
•Effectiveness: An algorithm must be developed by using very
basic, simple, and feasible operations so that one can trace it out
by using just paper and pencil.
Properties of Algorithm:
•It should terminate after a finite time.
•It should produce at least one output.
•It should take zero or more input.
•It should be deterministic means giving the same
output for the same input case.
•Every step in the algorithm must be effective i.e.
every step should do some work.
Types of Algorithms:
There are several types of algorithms available. Some important algorithms are:
1. Brute Force Algorithm:
It is the simplest approach to a problem. A brute force algorithm is the first approach that
comes to finding when we see a problem.
2. Recursive Algorithm:
A recursive algorithm is based on recursion. In this case, a problem is broken into several
sub-parts and called the same function again and again.
3. Backtracking Algorithm:
The backtracking algorithm builds the solution by searching among all possible solutions.
Using this algorithm, we keep on building the solution following criteria. Whenever a
solution fails we trace back to the failure point build on the next solution and continue
this process till we find the solution or all possible solutions are looked after.
4. Searching Algorithm:
Searching algorithms are the ones that are used for searching elements or groups of
elements from a particular data structure. They can be of different types based on their
approach or the data structure in which the element should be found.
5. Sorting Algorithm:
Sorting is arranging a group of data in a particular manner according to the
requirement. The algorithms which help in performing this function are called
sorting algorithms. Generally sorting algorithms are used to sort groups of data
in an increasing or decreasing manner.
6. Hashing Algorithm:
Hashing algorithms work similarly to the searching algorithm. But they contain
an index with a key ID. In hashing, a key is assigned to specific data.
7. Divide and Conquer Algorithm:
This algorithm breaks a problem into sub-problems, solves a single sub-problem,
and merges the solutions to get the final solution. It consists of the following
three steps:
•Divide
•Solve
•Combine
8. Greedy Algorithm:
In this type of algorithm, the solution is built part by part. The solution for the
next part is built based on the immediate benefit of the next part. The one
solution that gives the most benefit will be chosen as the solution for the next
part.
9. Dynamic Programming Algorithm:
This algorithm uses the concept of using the already found solution to avoid
repetitive calculation of the same part of the problem. It divides the problem into
smaller overlapping subproblems and solves them.
10. Randomized Algorithm:
In the randomized algorithm, we use a random number so it gives immediate
benefit. The random number helps in deciding the expected outcome.
To learn more about the types of algorithms refer to the article about “Types of
Algorithms“.

More Related Content

DOCX
Algorithm - A set of rules for solving operations
PPTX
problem solving and algorithm development
PPTX
Algorithm in data structure bca .pptx
PDF
1.1 the introduction of design and analysis of algorithm
PDF
Algorithms. Basic course
PDF
Algorithm Analysis.pdf
PPTX
Algorithm.pptx
PPTX
Introduction to Algorithms Introduction to Algorithms.pptx
Algorithm - A set of rules for solving operations
problem solving and algorithm development
Algorithm in data structure bca .pptx
1.1 the introduction of design and analysis of algorithm
Algorithms. Basic course
Algorithm Analysis.pdf
Algorithm.pptx
Introduction to Algorithms Introduction to Algorithms.pptx

Similar to DAA INTRO.pdf of design analysis algorithms (20)

PPTX
Algorithms Data Structures - Algorithms Efficiency.pptx
PDF
Introduction to data structure
PDF
Introduction to analysis algorithm in computer Science
PDF
introduction to analysis of algorithm in computer science
PDF
Introduction to Algorithms Complexity Analysis
PPT
Types of Algorithms.ppt
PPSX
Ic lecture6 architecture and algo
PPTX
RAJAT PROJECT.pptx
PPTX
CH-1.1 Introduction (1).pptx
PPTX
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
PPTX
Binary to hexadecimal algorithmic old.pptx
PPTX
DA lecture 3.pptx
PPTX
Architecture Algorithm Definition
PPTX
11 Unit 1 Problem Solving Techniques
PDF
Algorithms notes 2 tutorials duniya
PPTX
Chp-1 DAA (2).pptx design analysis and algoritham presentation
PPTX
Analysis and Design of Algorithms
PDF
ADA Unit-1 Algorithmic Foundations Analysis, Design, and Efficiency.pdf
PPTX
Design and Analysis of Algorithm ppt for unit one
PPTX
application of algorithm Presentation1.pptx
Algorithms Data Structures - Algorithms Efficiency.pptx
Introduction to data structure
Introduction to analysis algorithm in computer Science
introduction to analysis of algorithm in computer science
Introduction to Algorithms Complexity Analysis
Types of Algorithms.ppt
Ic lecture6 architecture and algo
RAJAT PROJECT.pptx
CH-1.1 Introduction (1).pptx
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
Binary to hexadecimal algorithmic old.pptx
DA lecture 3.pptx
Architecture Algorithm Definition
11 Unit 1 Problem Solving Techniques
Algorithms notes 2 tutorials duniya
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Analysis and Design of Algorithms
ADA Unit-1 Algorithmic Foundations Analysis, Design, and Efficiency.pdf
Design and Analysis of Algorithm ppt for unit one
application of algorithm Presentation1.pptx
Ad

Recently uploaded (20)

PPTX
OOP with Java - Java Introduction (Basics)
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PPTX
Construction Project Organization Group 2.pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
PPT
Mechanical Engineering MATERIALS Selection
PDF
Well-logging-methods_new................
PPTX
additive manufacturing of ss316l using mig welding
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
Safety Seminar civil to be ensured for safe working.
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Geodesy 1.pptx...............................................
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
III.4.1.2_The_Space_Environment.p pdffdf
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
OOP with Java - Java Introduction (Basics)
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Construction Project Organization Group 2.pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PREDICTION OF DIABETES FROM ELECTRONIC HEALTH RECORDS
Mechanical Engineering MATERIALS Selection
Well-logging-methods_new................
additive manufacturing of ss316l using mig welding
CH1 Production IntroductoryConcepts.pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
R24 SURVEYING LAB MANUAL for civil enggi
Safety Seminar civil to be ensured for safe working.
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Geodesy 1.pptx...............................................
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
III.4.1.2_The_Space_Environment.p pdffdf
Operating System & Kernel Study Guide-1 - converted.pdf
Model Code of Practice - Construction Work - 21102022 .pdf
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Ad

DAA INTRO.pdf of design analysis algorithms

  • 1. What is Algorithm Introduction to Algorithms Definition of Algorithm The word Algorithm means ” A set of finite rules or instructions to be followed in calculations or other problem-solving operations ” Or ” A procedure for solving a mathematical problem in a finite number of steps that frequently involves recursive operations”.
  • 2. Therefore Algorithm refers to a sequence of finite steps to solve a particular problem.
  • 3. Use of the Algorithms: Algorithms play a crucial role in various fields and have many applications. Some of the key areas where algorithms are used include: Computer Science: Algorithms form the basis of computer programming and are used to solve problems ranging from simple sorting and searching to complex tasks such as artificial intelligence and machine learning. Mathematics: Algorithms are used to solve mathematical problems, such as finding the optimal solution to a system of linear equations or finding the shortest path in a graph. Operations Research: Algorithms are used to optimize and make decisions in fields such as transportation, logistics, and resource allocation. Artificial Intelligence: Algorithms are the foundation of artificial intelligence and machine learning, and are used to develop intelligent systems that can perform tasks such as image recognition, natural language processing, and decision-making. Data Science: Algorithms are used to analyze, process, and extract insights from large amounts of data in fields such as marketing, finance, and healthcare.
  • 4. These are just a few examples of the many applications of algorithms. The use of algorithms is continually expanding as new technologies and fields emerge, making it a vital component of modern society. Algorithms can be simple and complex depending on what you want to achieve. It can be understood by taking the example of cooking a new recipe. To cook a new recipe, one reads the instructions and steps and executes them one by one, in the given sequence. The result thus obtained is the new dish is cooked perfectly. Every time you use your phone, computer, laptop, or calculator you are using Algorithms. Similarly, algorithms help to do a task in programming to get the expected output. The Algorithm designed are language-independent, i.e. they are just plain instructions that can be implemented in any language, and yet the output will be the same, as expected. What is the need for algorithms? Algorithms are necessary for solving complex problems efficiently and effectively. They help to automate processes and make them more reliable, faster, and easier to perform. Algorithms also enable computers to perform tasks that would be difficult or impossible for humans to do manually. They are used in various fields such as mathematics, computer science, engineering, finance, and many others to optimize processes, analyze data, make predictions, and provide solutions to problems.
  • 5. What are the Characteristics of an Algorithm?
  • 6. As one would not follow any written instructions to cook the recipe, but only the standard one. Similarly, not all written instructions for programming are an algorithm. For some instructions to be an algorithm, it must have the following characteristics: •Clear and Unambiguous: The algorithm should be unambiguous. Each of its steps should be clear in all aspects and must lead to only one meaning. •Well-Defined Inputs: If an algorithm says to take inputs, it should be well-defined inputs. It may or may not take input. •Well-Defined Outputs: The algorithm must clearly define what output will be yielded and it should be well-defined as well. It should produce at least 1 output.
  • 7. •Finite-ness: The algorithm must be finite, i.e. it should terminate after a finite time. •Feasible: The algorithm must be simple, generic, and practical, such that it can be executed with the available resources. It must not contain some future technology or anything. •Language Independent: The Algorithm designed must be language-independent, i.e. it must be just plain instructions that can be implemented in any language, and yet the output will be the same, as expected. •Input: An algorithm has zero or more inputs. Each that contains a fundamental operator must accept zero or more inputs. • Output: An algorithm produces at least one output. Every instruction that contains a fundamental operator must accept zero or more inputs.
  • 8. unambiguous, precise, and easy to interpret. By referring to any of the instructions in an algorithm one can clearly understand what is to be done. Every fundamental operator in instruction must be defined without any ambiguity. •Finiteness: An algorithm must terminate after a finite number of steps in all test cases. Every instruction which contains a fundamental operator must be terminated within a finite amount of time. Infinite loops or recursive functions without base conditions do not possess finiteness. •Effectiveness: An algorithm must be developed by using very basic, simple, and feasible operations so that one can trace it out by using just paper and pencil.
  • 9. Properties of Algorithm: •It should terminate after a finite time. •It should produce at least one output. •It should take zero or more input. •It should be deterministic means giving the same output for the same input case. •Every step in the algorithm must be effective i.e. every step should do some work.
  • 10. Types of Algorithms: There are several types of algorithms available. Some important algorithms are: 1. Brute Force Algorithm: It is the simplest approach to a problem. A brute force algorithm is the first approach that comes to finding when we see a problem. 2. Recursive Algorithm: A recursive algorithm is based on recursion. In this case, a problem is broken into several sub-parts and called the same function again and again. 3. Backtracking Algorithm: The backtracking algorithm builds the solution by searching among all possible solutions. Using this algorithm, we keep on building the solution following criteria. Whenever a solution fails we trace back to the failure point build on the next solution and continue this process till we find the solution or all possible solutions are looked after. 4. Searching Algorithm: Searching algorithms are the ones that are used for searching elements or groups of elements from a particular data structure. They can be of different types based on their approach or the data structure in which the element should be found.
  • 11. 5. Sorting Algorithm: Sorting is arranging a group of data in a particular manner according to the requirement. The algorithms which help in performing this function are called sorting algorithms. Generally sorting algorithms are used to sort groups of data in an increasing or decreasing manner. 6. Hashing Algorithm: Hashing algorithms work similarly to the searching algorithm. But they contain an index with a key ID. In hashing, a key is assigned to specific data. 7. Divide and Conquer Algorithm: This algorithm breaks a problem into sub-problems, solves a single sub-problem, and merges the solutions to get the final solution. It consists of the following three steps: •Divide •Solve •Combine
  • 12. 8. Greedy Algorithm: In this type of algorithm, the solution is built part by part. The solution for the next part is built based on the immediate benefit of the next part. The one solution that gives the most benefit will be chosen as the solution for the next part. 9. Dynamic Programming Algorithm: This algorithm uses the concept of using the already found solution to avoid repetitive calculation of the same part of the problem. It divides the problem into smaller overlapping subproblems and solves them. 10. Randomized Algorithm: In the randomized algorithm, we use a random number so it gives immediate benefit. The random number helps in deciding the expected outcome. To learn more about the types of algorithms refer to the article about “Types of Algorithms“.