SlideShare a Scribd company logo
Algorithms. Basic course
Algorithms.
Basic course
Informal definition: a set of rules that precisely defines a
sequence of operations to accomplish a certain goal.
We create, follow and control the execution of
algorithms in our everyday life.
Everyday algorithms
Main properties of an algorithm:
Flexibility - an algorithm should be adaptable to solve a wide scope of problems.
Discreteness - the process should be divided into separate, well-described steps. One step at a
time.
Determinacy - the order of the steps of the algorithm and all actions inside each step must be
unambiguous.
Productivity - at the end of its execution, the algorithm must produce some result.
Stability - if an algorithm has correct input parameters, it must always produce the correct results.
Algorithm types
Randomized (stochastic) algorithm such algorithms make some choices randomly (or pseudo-randomly). This can be very useful in
finding approximate solutions to problems when finding exact solutions can be impractical (Monte Carlo, Las Vegas algorithms).
Heuristic algorithm can be used to find a solution close to the optimal solution in cases when finding the optimal solution is
impractical. These algorithms work by getting closer and closer to the optimal solution as they progress. In principle, if run for an infinite
period of time, they will find the optimal solution. Their advantage is that they can find a solution very close to the optimal solution in a
relatively short time.
Linear algorithm is a set of steps executed strictly one after another.
Branching algorithm uses at least one ‘if’-condition to make a decision in which of the two (or more) possible path programs its
execution should be continued.
Iterative algorithms use repetitive constructs like loops and sometimes additional data structures like stacks to solve the given
problems.
Recursive algorithm is one that invokes (makes reference to) itself repeatedly until a certain condition (also known as termination
condition) is met, which is a method common to functional programming.
Ways to describe an algorithm:
Verbal - an algorithm is verbally described in a human language;
Symbolic - an algorithm is written down using any algorithmic language;
Graphics - an algorithm is written down using block schemes.
Method to measure algorithm
To measure an algorithm, there is usually big O notation used.
In computer science, big O notation is used to classify algorithms according to
how their running time or memory space requirements grow as the input size
grows.
Advantages of Big O Notation
● Independent of computer architecture;
● Mostly independent of the interpreter or compiler;
● Easily understandable information.
Limitations of Big O Notation
There are numerous algorithms that are too difficult to analyze mathematically.
There may not be sufficient information to calculate the behaviour of the algorithm
in an average case.
The Big O notation sometimes ignores the important constants. For instance, if a
particular algorithm takes O(n3) time to run and another algorithm takes O(100n3)
time to run, then both algorithms would have equal time complexity according to
the Big O notation.
The Big O notation tells us how the algorithm grows with the size of the problem
and not the efficiency related to it.
Additional resources:
Books:
● Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson,
Ronald L. Rivest, and Clifford Stein
● Algorithm Design by Jon Kleinberg
Web resources:
● Algorithms. Course by Kevin Wayne

More Related Content

PPT
Algorithm Design
PPT
Algorithm Design Presentation
PDF
Lecture Note-2: Performance analysis of Algorithms
PPT
Fundamental of Algorithms
PPSX
Ic lecture6 architecture and algo
PDF
Algorithmic problem solving
PDF
Fundamentals of algorithms
PPTX
"A short and knowledgeable concept about Algorithm "
Algorithm Design
Algorithm Design Presentation
Lecture Note-2: Performance analysis of Algorithms
Fundamental of Algorithms
Ic lecture6 architecture and algo
Algorithmic problem solving
Fundamentals of algorithms
"A short and knowledgeable concept about Algorithm "

What's hot (20)

PPTX
Topic 1.4: Randomized Algorithms
PPTX
Algorithms and Flowcharts
PPSX
C programming language
PPTX
Introduction to algorithn class 1
PPT
Daa presentation 97
PPTX
Lecture 1-cs648
PPTX
Algorithm Design & Implementation
PPTX
Algorithm and flowchart with pseudo code
PPT
Randomized Algorithms
PPT
What is an algorithm?
PPT
Problem solving using Computer
PPTX
Lecture 6-cs648 Randomized Algorithms
PPTX
Notion of an algorithm
PPT
L01 intro-daa - ppt1
PPTX
#1 designandanalysis of algo
PPT
COMPUTER PROGRAMMING UNIT 1 Lecture 4
PPT
Aad introduction
PDF
Design & Analysis of Algorithms Lecture Notes
Topic 1.4: Randomized Algorithms
Algorithms and Flowcharts
C programming language
Introduction to algorithn class 1
Daa presentation 97
Lecture 1-cs648
Algorithm Design & Implementation
Algorithm and flowchart with pseudo code
Randomized Algorithms
What is an algorithm?
Problem solving using Computer
Lecture 6-cs648 Randomized Algorithms
Notion of an algorithm
L01 intro-daa - ppt1
#1 designandanalysis of algo
COMPUTER PROGRAMMING UNIT 1 Lecture 4
Aad introduction
Design & Analysis of Algorithms Lecture Notes
Ad

Similar to Algorithms. Basic course (20)

PDF
DAA INTRO.pdf of design analysis algorithms
PDF
Introduction to Algorithms Complexity Analysis
PDF
Algorithm Analysis.pdf
PPTX
FDFDRERSFDSGAGAFGGFGFGFGFGAFDGFDGFGFFAGFGGDF
PPTX
Introduction to Algorithms Introduction to Algorithms.pptx
PPTX
Introduction-to-Algorithms-Concepts-and-Analysis.pptx
PDF
1.1 the introduction of design and analysis of algorithm
DOCX
Algorithm - A set of rules for solving operations
PPTX
FALLSEM2024-25_BSTS301P_SS_VL2024250100685_2024-07-26_Reference-Material-I.pptx
PPTX
Chapter 1 - Introduction to data structure.pptx
PPTX
Algorithm - Introduction
PDF
ADA Unit-1 Algorithmic Foundations Analysis, Design, and Efficiency.pdf
PPTX
Intruction to Algorithms.pptx
PDF
Introduction to data structure and algorithm
DOCX
Data Abstraction (Chapter 1)
PPTX
2. Introduction to Algorithm.pptx
PPTX
CH-1.1 Introduction (1).pptx
PPTX
Algorithm in data structure bca .pptx
PPTX
Introduction to algorithms
PDF
Cuckoo Search: Recent Advances and Applications
DAA INTRO.pdf of design analysis algorithms
Introduction to Algorithms Complexity Analysis
Algorithm Analysis.pdf
FDFDRERSFDSGAGAFGGFGFGFGFGAFDGFDGFGFFAGFGGDF
Introduction to Algorithms Introduction to Algorithms.pptx
Introduction-to-Algorithms-Concepts-and-Analysis.pptx
1.1 the introduction of design and analysis of algorithm
Algorithm - A set of rules for solving operations
FALLSEM2024-25_BSTS301P_SS_VL2024250100685_2024-07-26_Reference-Material-I.pptx
Chapter 1 - Introduction to data structure.pptx
Algorithm - Introduction
ADA Unit-1 Algorithmic Foundations Analysis, Design, and Efficiency.pdf
Intruction to Algorithms.pptx
Introduction to data structure and algorithm
Data Abstraction (Chapter 1)
2. Introduction to Algorithm.pptx
CH-1.1 Introduction (1).pptx
Algorithm in data structure bca .pptx
Introduction to algorithms
Cuckoo Search: Recent Advances and Applications
Ad

More from ISS Art, LLC (6)

PDF
ISS Art. How to do IT. Kotlin Multiplatform
PPTX
Computer vision in neuropharmacology
PDF
ISS Art company presentation
PDF
Aggregation and Awareness or How to Reduce the Amount of your FrontEnd Code ...
PDF
Управление удаленной командой тестировщиков
PDF
Контроль над распределенной командой
ISS Art. How to do IT. Kotlin Multiplatform
Computer vision in neuropharmacology
ISS Art company presentation
Aggregation and Awareness or How to Reduce the Amount of your FrontEnd Code ...
Управление удаленной командой тестировщиков
Контроль над распределенной командой

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PDF
System and Network Administraation Chapter 3
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
System and Network Administration Chapter 2
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Transform Your Business with a Software ERP System
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Digital Strategies for Manufacturing Companies
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Understanding Forklifts - TECH EHS Solution
medical staffing services at VALiNTRY
System and Network Administraation Chapter 3
Adobe Illustrator 28.6 Crack My Vision of Vector Design
System and Network Administration Chapter 2
Design an Analysis of Algorithms II-SECS-1021-03
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
Transform Your Business with a Software ERP System
How to Choose the Right IT Partner for Your Business in Malaysia
Design an Analysis of Algorithms I-SECS-1021-03
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
2025 Textile ERP Trends: SAP, Odoo & Oracle
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Designing Intelligence for the Shop Floor.pdf
Softaken Excel to vCard Converter Software.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Understanding Forklifts - TECH EHS Solution

Algorithms. Basic course

  • 3. Informal definition: a set of rules that precisely defines a sequence of operations to accomplish a certain goal. We create, follow and control the execution of algorithms in our everyday life.
  • 5. Main properties of an algorithm: Flexibility - an algorithm should be adaptable to solve a wide scope of problems. Discreteness - the process should be divided into separate, well-described steps. One step at a time. Determinacy - the order of the steps of the algorithm and all actions inside each step must be unambiguous. Productivity - at the end of its execution, the algorithm must produce some result. Stability - if an algorithm has correct input parameters, it must always produce the correct results.
  • 6. Algorithm types Randomized (stochastic) algorithm such algorithms make some choices randomly (or pseudo-randomly). This can be very useful in finding approximate solutions to problems when finding exact solutions can be impractical (Monte Carlo, Las Vegas algorithms). Heuristic algorithm can be used to find a solution close to the optimal solution in cases when finding the optimal solution is impractical. These algorithms work by getting closer and closer to the optimal solution as they progress. In principle, if run for an infinite period of time, they will find the optimal solution. Their advantage is that they can find a solution very close to the optimal solution in a relatively short time. Linear algorithm is a set of steps executed strictly one after another. Branching algorithm uses at least one ‘if’-condition to make a decision in which of the two (or more) possible path programs its execution should be continued. Iterative algorithms use repetitive constructs like loops and sometimes additional data structures like stacks to solve the given problems. Recursive algorithm is one that invokes (makes reference to) itself repeatedly until a certain condition (also known as termination condition) is met, which is a method common to functional programming.
  • 7. Ways to describe an algorithm: Verbal - an algorithm is verbally described in a human language; Symbolic - an algorithm is written down using any algorithmic language; Graphics - an algorithm is written down using block schemes.
  • 8. Method to measure algorithm To measure an algorithm, there is usually big O notation used. In computer science, big O notation is used to classify algorithms according to how their running time or memory space requirements grow as the input size grows.
  • 9. Advantages of Big O Notation ● Independent of computer architecture; ● Mostly independent of the interpreter or compiler; ● Easily understandable information.
  • 10. Limitations of Big O Notation There are numerous algorithms that are too difficult to analyze mathematically. There may not be sufficient information to calculate the behaviour of the algorithm in an average case. The Big O notation sometimes ignores the important constants. For instance, if a particular algorithm takes O(n3) time to run and another algorithm takes O(100n3) time to run, then both algorithms would have equal time complexity according to the Big O notation. The Big O notation tells us how the algorithm grows with the size of the problem and not the efficiency related to it.
  • 11. Additional resources: Books: ● Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein ● Algorithm Design by Jon Kleinberg Web resources: ● Algorithms. Course by Kevin Wayne