SlideShare a Scribd company logo
INTRODUCTION TO DESIGN A
ND ANALYSIS OF ALGORITHM
S (DAA)
COURSE OVERVIEW AND INTRODUCTION TO ALGORITHMS
25/09/2024
25/09/2024
WELCOME TO THE COURSE!
• THIS COURSE WILL PROVIDE A COMPREHENSIVE UNDERSTANDING OF ALGORITHM
DESIGN AND ANALYSIS.
• WE WILL LEARN ABOUT DIFFERENT TYPES OF ALGORITHMS, THEIR EFFICIENCY, AND
APPLICATIONS.
• BY THE END OF THE COURSE, YOU WILL BE EQUIPPED TO DESIGN AND ANALYSE
ALGORITHMS FOR VARIOUS PROBLEMS.
25/09/2024
WHAT IS AN ALGORITHM?
 AN ALGORITHM IS A STEP-BY-STEP PROCEDURE OR FORMULA FOR
SOLVING A PROBLEM.
 IT CONSISTS OF A SEQUENCE OF FINITE
INSTRUCTIONS TO ACCOMPLISH A SPECIFIC TASK.
 ALGORITHMS ARE FUNDAMENTAL TO COMPUTER SCIENCE AND PROGRAMMING.
25/09/2024
ALGORITHM DEFINITIONS
AN ALGORITHM IS AN ORDERED SET OF UNAMBIGUOUS EXECUTABLE STEPS, DEFINING A
TERMINATING PROCESS.
25/09/2024
KEY CHARACTERISTICS OF ALGORITHMS
FINITE - AN ALGORITHM MUST HAVE A CLEAR STARTING AND ENDING POINT.
PRECISE - EACH STEP IN THE ALGORITHM IS CLEARLY DEFINED AND UNAMBIGUOUS.
EFFECTIVE - THE ALGORITHM CAN BE EXECUTED WITHIN A REASONABLE TIME
FRAME WITH AVAILABLE RESOURCES.
INPUT/OUTPUT - IT TAKES INPUTS AND PRODUCES OUTPUTS, PROCESSING
INFORMATION TO ACHIEVE A DESIRED OUTCOME.
25/09/2024
EVERYDAY APPLICATIONS OF ALGORITHMS
ALGORITHMS ARE PART OF OUR DAILY LIVES.
SEARCH ENGINES - ALGORITHMS SORT AND DISPLAY THE MOST RELEVANT SEARCH
RESULTS.
GPS NAVIGATION - ALGORITHMS CALCULATE THE FASTEST ROUTE AND ESTIMATE
TRAVEL TIME.
E-COMMERCE - ALGORITHMS RECOMMEND PRODUCTS BASED ON BROWSING
HISTORY.
25/09/2024
ALGORITHMS IN INDUSTRY
ALGORITHMS PLAY A CRUCIAL ROLE IN VARIOUS INDUSTRIES:
FINANCE - ALGORITHMS ANALYSE MARKET TRENDS AND MANAGE INVESTMENTS.
HEALTHCARE - ALGORITHMS ASSIST IN DIAGNOSIS AND TREATMENT PLANNING.
E-COMMERCE - ALGORITHMS OPTIMIZE SUPPLY CHAIN AND INVENTORY
MANAGEMENT.
25/09/2024
WHY STUDY ALGORITHMS?
• ALGORITHMS ARE THE BACKBONE OF SOFTWARE DEVELOPMENT AND TECHNOLOGY.
• THEY ENABLE COMPUTERS TO PROCESS DATA, MAKE DECISIONS, AND SOLVE PROBLEMS.
• UNDERSTANDING ALGORITHMS HELPS IN DEVELOPING EFFICIENT AND EFFECTIVE SOFTWARE
SOLUTIONS.
25/09/2024
ALGORITHM:
MAKING A
CUP OF TEA
1. START
BEGIN WITH A CLEAN KETTLE AND A CUP.
2. BOIL WATER
FILL THE KETTLE WITH WATER AND TURN IT ON TO BOIL.
3. PREPARE THE CUP
PLACE A TEA BAG IN THE CUP.
4. POUR WATER
ONCE THE WATER BOILS, POUR IT INTO THE CUP OVER
THE TEA BAG.
5. STEEP THE TEA
LET THE TEA STEEP FOR 3-5 MINUTES, DEPENDING ON
DESIRED STRENGTH.
6. REMOVE TEA BAG
TAKE OUT THE TEA BAG AND DISCARD IT.
7. ADD CONDIMENTS
ADD SUGAR, MILK, OR LEMON IF DESIRED.
8. END
THE TEA IS READY TO DRINK.
Characteristics Demonstrated:
• Finite: The process has a
clear start and end.
• Precise: Each step is
specific (e.g., "boil
water," "steep for 3-5
minutes").
• Effective: Assuming we
have a kettle and tea,
this can be done
efficiently.
• Input/Output: Input
(water, tea bag), Output
(cup of tea).
25/09/2024
ALGORITHM:
ADDING TWO
NUMBERS
YOU WANT TO ADD TWO NUMBERS, 3
AND 5, TO GET THE SUM.
1. START
TAKE TWO NUMBERS: 3 AND 5.
2. ADD THE NUMBERS
PERFORM THE ADDITION: 3 + 5.
3. OUTPUT THE RESULT
THE SUM IS 8.
4. END
THE PROCESS IS COMPLETE.
Characteristics Demonstrated:
• Finite: The addition has a clear
start and end.
• Precise: The operation
(addition) is straightforward.
• Effective: The addition is
performed immediately.
• Input/Output: Input (numbers 3
and 5), Output (sum 8).
25/09/2024
ALGORITHM: SORTING A LIST OF NUMBERS
PROBLEM: SORT A LIST OF NUMBERS: [5, 2, 9, 1, 5, 6].
1. START
BEGIN WITH THE LIST: [5, 2, 9, 1, 5, 6].
2. COMPARE ADJACENT ELEMENTS
COMPARE THE FIRST TWO ELEMENTS (5 AND 2). IF THE FIRST IS GREATER THAN THE SECOND, SWAP THEM.
3. REPEAT FOR THE NEXT PAIR
MOVE TO THE NEXT PAIR (NOW 5 AND 9) AND REPEAT STEP 2. CONTINUE THIS PROCESS TO THE END OF THE LIST.
4. END OF PASS
AFTER REACHING THE END OF THE LIST, IF ANY SWAPS WERE MADE, REPEAT THE ENTIRE PROCESS. IF NO SWAPS WERE MADE, THE LIST IS SORTED.
5. OUTPUT THE SORTED LIST
ONCE NO MORE SWAPS ARE NEEDED, OUTPUT THE SORTED LIST.
6. END
THE SORTING PROCESS IS COMPLETE.
25/09/2024
ALGORITHM: SORTING A LIST OF NUMBERS
CHARACTERISTICS DEMONSTRATED:
• FINITE: THE ALGORITHM ENDS ONCE THE LIST IS SORTED.
• PRECISE: EACH COMPARISON AND SWAP IS CLEARLY DEFINED.
• EFFECTIVE: IT WORKS, ALTHOUGH NOT THE MOST EFFICIENT FOR LARGE LISTS (INTRODUCES
CONCEPT OF EFFICIENCY).
25/09/2024
MULTIPLE ALGORITHMS FOR A SINGLE
PROBLEM
• A SINGLE PROBLEM CAN OFTEN BE SOLVED BY MORE THAN ONE ALGORITHM.
• EACH ALGORITHM MAY DIFFER IN APPROACH, EFFICIENCY, AND COMPLEXITY.
• UNDERSTANDING VARIOUS ALGORITHMS HELPS IN CHOOSING THE BEST ONE
BASED ON SPECIFIC NEEDS AND CONSTRAINTS.
25/09/2024
FIND THE SUM OF THE FIRST N NATURAL
NUMBERS
• NATURAL NUMBERS: 1, 2, 3, 4, ...
• GOAL: CALCULATE THE SUM S OF THE FIRST N NATURAL NUMBERS.
25/09/2024
METHOD 1: ITERATIVE APPROACH
HOW IT WORKS:
1.START WITH A SUM OF 0.
2.ADD EACH NUMBER FROM 1 TO N TO
THE SUM.
3.CONTINUE UNTIL YOU REACH N.
To find the sum of the first 5 natural numbers:
•Start with sum = 0.
•Add 1: sum = 1.
•Add 2: sum = 3.
•Add 3: sum = 6.
•Add 4: sum = 10.
•Add 5: sum = 15.
•Result: 15.
Pros: Simple to understand and implement.
Cons: Takes more time for large n (O(n) time complexity).
25/09/2024
METHOD 2: MATHEMATICAL FORMULA
• HOW IT WORKS:
1.USE THE FORMULA FOR
THE SUM OF THE
FIRST N NATURAL
NUMBERS:
S=N×(N+1)/2
Example: To find the sum of the first 5 natural numbers:
•Use the formula: S=5×(5+1)/2=5×6/2=15
•Result: 15.
Pros: Very fast (O(1) time complexity) and doesn’t require iteration.
Cons: Requires knowledge of the formula.
25/09/2024
IMPORTANCE OF EFFICIENT ALGORITHMS
• SPEED: EFFICIENT ALGORITHMS RUN FASTER, ESPECIALLY AS INPUT SIZES GROW.
• RESOURCE USAGE: SAVES COMPUTING RESOURCES LIKE MEMORY AND POWER.
• SCALABILITY: HANDLES LARGE DATASETS OR COMPLEX PROBLEMS WITHOUT
CRASHING.
25/09/2024
THE NEED FOR ALGORITHM ANALYSIS
• PREDICT PERFORMANCE: UNDERSTAND HOW AN ALGORITHM PERFORMS AS INPUTS
GROW.
• OPTIMIZE SOLUTIONS: FIND WAYS TO IMPROVE EXISTING ALGORITHMS.
• CHOOSE THE BEST APPROACH: SELECT THE RIGHT ALGORITHM FOR THE PROBLEM.
25/09/2024
WHAT IS ALGORITHM ANALYSIS?
• DEFINITION: ALGORITHM ANALYSIS IS THE PROCESS OF DETERMINING THE
EFFICIENCY OF AN ALGORITHM IN TERMS OF TIME AND SPACE.
• PURPOSE: HELPS TO PREDICT THE BEHAVIOUR OF ALGORITHMS WITH DIFFERENT
INPUTS, AND GUIDES THE CHOICE OF THE BEST ALGORITHM FOR A PROBLEM.
25/09/2024
ALGORITHM ANALYSIS
TIME COMPLEXITY: MEASURES THE TIME AN ALGORITHM TAKES TO RUN AS A
FUNCTION OF THE INPUT SIZE.
• NOTATIONS: O(N), O(LOG N), O(N²), ETC.
SPACE COMPLEXITY: MEASURES HOW MUCH MEMORY AN ALGORITHM USES AS THE
INPUT SIZE GROWS.
• EXAMPLE: AN ALGORITHM THAT USES AN ADDITIONAL ARRAY HAS HIGHER SPACE
COMPLEXITY.
25/09/2024
COST COMPARISON: TIME VS. SPACE
HARDWARE ADVANCEMENTS: MEMORY (RAM) IS RELATIVELY CHEAP AND PLENTIFUL,
BUT TIME (SPEED) CANNOT BE EASILY BOUGHT.
• EXAMPLE: UPGRADING HARDWARE CAN INCREASE SPACE, BUT NOT NECESSARILY
IMPROVE ALGORITHM SPEED.
IMPACT ON PERFORMANCE: A SLIGHT INCREASE IN SPACE COMPLEXITY IS OFTEN
ACCEPTABLE IF IT SIGNIFICANTLY REDUCES TIME COMPLEXITY.
• EXAMPLE: USING A HASH TABLE (MORE SPACE) FOR FASTER LOOKUPS COMPARED TO A
LIST.
25/09/2024
WHEN TIME COMPLEXITY MATTERS MOST
REAL-TIME SYSTEMS: SYSTEMS THAT MUST RESPOND QUICKLY (E.G., VIDEO GAMES,
FINANCIAL TRADING PLATFORMS) PRIORITIZE SPEED.
• EXAMPLE: IN GAMING, LAG CAUSED BY SLOW ALGORITHMS CAN RUIN THE EXPERIENCE.
BIG DATA APPLICATIONS: HANDLING LARGE DATASETS EFFICIENTLY IS CRUCIAL.
• EXAMPLE: DATA PROCESSING IN COMPANIES LIKE GOOGLE OR FACEBOOK, WHERE
SECONDS OF DELAY CAN MEAN MILLIONS OF DOLLARS LOST.
25/09/2024
WHEN SPACE COMPLEXITY TAKES PRIORITY
MEMORY-CONSTRAINED ENVIRONMENTS: IN EMBEDDED SYSTEMS OR MOBILE DEVICES,
SPACE IS LIMITED.
• EXAMPLE: SOFTWARE FOR IOT DEVICES WITH VERY LIMITED RAM.
CLOUD STORAGE: STORING DATA IN THE CLOUD CAN BE COSTLY, SO EFFICIENT SPACE
USAGE IS IMPORTANT TO REDUCE COSTS.
25/09/2024
BALANCING TIME AND SPACE COMPLEXITY
TRADE-OFFS: SOMETIMES, A BALANCE MUST BE FOUND BETWEEN TIME AND SPACE
COMPLEXITY.
• EXAMPLE: ALGORITHMS LIKE DYNAMIC PROGRAMMING USE EXTRA SPACE
(MEMOIZATION) TO REDUCE TIME COMPLEXITY.
CONTEXT MATTERS: THE IMPORTANCE OF TIME VS. SPACE COMPLEXITY DEPENDS ON
THE SPECIFIC APPLICATION AND CONSTRAINTS.
• EXAMPLE: IN SOME SCENARIOS, SAVING MEMORY IS MORE CRITICAL, BUT IN MOST
MODERN APPLICATIONS, SPEED TAKES PRECEDENCE.
25/09/2024
THE PRIMACY OF TIME COMPLEXITY
FOCUS ON TIME: IN MOST CASES, OPTIMIZING TIME COMPLEXITY HAS A GREATER IMPACT ON
PERFORMANCE.
CONSIDER THE CONTEXT: ALWAYS ANALYSE BOTH TIME AND SPACE, BUT PRIORITIZE TIME IN
MOST GENERAL-PURPOSE APPLICATIONS.
EFFICIENCY MATTERS: EFFICIENT ALGORITHMS IMPROVE USER EXPERIENCE, SCALABILITY, AND
OVERALL SYSTEM PERFORMANCE.
25/09/2024
TIME COMPLEXITY OF A SIMPLE LOOP
PROBLEM: PRINT NUMBERS FROM 1 TO N.
CODE:
DEF PRINT_NUMBERS(N):
FOR I IN RANGE(1, N+1):
PRINT(I)
25/09/2024
TIME COMPLEXITY OF A SIMPLE LOOP
TIME COMPLEXITY:
• STEP 1: IDENTIFY THE BASIC
OPERATION: PRINT(I).
• STEP 2: DETERMINE HOW MANY TIMES THE
BASIC OPERATION IS EXECUTED.
• THE FOR LOOP RUNS N TIMES.
• TIME COMPLEXITY: SINCE THE LOOP
RUNS N TIMES, THE TIME COMPLEXITY IS O(N).
Space Complexity:
Step 1: Identify the space used by
variables.
• The function uses a single
integer variable i and input n.
Step 2: Since the space used is
independent of n and does not grow
with input size, the space complexity
is O(1).
25/09/2024
THANK YOU 
Ad

Recommended

daa18d8d-d333-4398-94dd-a46802d88d79.pptx
daa18d8d-d333-4398-94dd-a46802d88d79.pptx
yvtinsane
 
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx
Modile-1-PPT-1-BCAC0207-AlgorithmDesign.pptx
ryadavrohit26
 
Lecture 2 role of algorithms in computing
Lecture 2 role of algorithms in computing
jayavignesh86
 
Unit i basic concepts of algorithms
Unit i basic concepts of algorithms
sangeetha s
 
Design and analysis of algorithms
Design and analysis of algorithms
Dr Geetha Mohan
 
Unit 1 dsa
Unit 1 dsa
PUNE VIDYARTHI GRIHA'S COLLEGE OF ENGINEERING, NASHIK
 
Ds03 part i algorithms by jyoti lakhani
Ds03 part i algorithms by jyoti lakhani
jyoti_lakhani
 
DSA
DSA
rrupa2
 
Unit 1, ADA.pptx
Unit 1, ADA.pptx
jinkhatima
 
Algorithm Analysis.pdf
Algorithm Analysis.pdf
NayanChandak1
 
Types of Algorithms.ppt
Types of Algorithms.ppt
ALIZAIB KHAN
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
FellowBuddy.com
 
Daa
Daa
Dhananjay Singh
 
Analysis of Algorithms
Analysis of Algorithms
Amna Saeed
 
Algorithm Design and Analysis
Algorithm Design and Analysis
Sayed Chhattan Shah
 
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentation
vaishnavbhavna17
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
Lecture01 algorithm analysis
Lecture01 algorithm analysis
Zara Nawaz
 
Algorithms.pdf
Algorithms.pdf
OluwafolakeOjo
 
Algo_Lecture01.pptx
Algo_Lecture01.pptx
ShaistaRiaz4
 
01 intro to algorithm--updated 2015
01 intro to algorithm--updated 2015
Hira Gul
 
DATA STRUCTURE
DATA STRUCTURE
RobinRohit2
 
DATA STRUCTURE.pdf
DATA STRUCTURE.pdf
ibrahim386946
 
Analysis of Algorithm full version 2024.pptx
Analysis of Algorithm full version 2024.pptx
rajesshs31r
 
Design Analysis of Alogorithm 1 ppt 2024.pptx
Design Analysis of Alogorithm 1 ppt 2024.pptx
rajesshs31r
 
Stacks queues lists
Stacks queues lists
Luis Goldster
 
Stack squeues lists
Stack squeues lists
James Wong
 
Stacks queues lists
Stacks queues lists
Young Alista
 
Pavement and its types, Application of rigid and Flexible Pavements
Pavement and its types, Application of rigid and Flexible Pavements
Sakthivel M
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 

More Related Content

Similar to Introduction to Algorithms, Steps, Complexity (20)

Unit 1, ADA.pptx
Unit 1, ADA.pptx
jinkhatima
 
Algorithm Analysis.pdf
Algorithm Analysis.pdf
NayanChandak1
 
Types of Algorithms.ppt
Types of Algorithms.ppt
ALIZAIB KHAN
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
FellowBuddy.com
 
Daa
Daa
Dhananjay Singh
 
Analysis of Algorithms
Analysis of Algorithms
Amna Saeed
 
Algorithm Design and Analysis
Algorithm Design and Analysis
Sayed Chhattan Shah
 
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentation
vaishnavbhavna17
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
Lecture01 algorithm analysis
Lecture01 algorithm analysis
Zara Nawaz
 
Algorithms.pdf
Algorithms.pdf
OluwafolakeOjo
 
Algo_Lecture01.pptx
Algo_Lecture01.pptx
ShaistaRiaz4
 
01 intro to algorithm--updated 2015
01 intro to algorithm--updated 2015
Hira Gul
 
DATA STRUCTURE
DATA STRUCTURE
RobinRohit2
 
DATA STRUCTURE.pdf
DATA STRUCTURE.pdf
ibrahim386946
 
Analysis of Algorithm full version 2024.pptx
Analysis of Algorithm full version 2024.pptx
rajesshs31r
 
Design Analysis of Alogorithm 1 ppt 2024.pptx
Design Analysis of Alogorithm 1 ppt 2024.pptx
rajesshs31r
 
Stacks queues lists
Stacks queues lists
Luis Goldster
 
Stack squeues lists
Stack squeues lists
James Wong
 
Stacks queues lists
Stacks queues lists
Young Alista
 
Unit 1, ADA.pptx
Unit 1, ADA.pptx
jinkhatima
 
Algorithm Analysis.pdf
Algorithm Analysis.pdf
NayanChandak1
 
Types of Algorithms.ppt
Types of Algorithms.ppt
ALIZAIB KHAN
 
Design & Analysis of Algorithms Lecture Notes
Design & Analysis of Algorithms Lecture Notes
FellowBuddy.com
 
Analysis of Algorithms
Analysis of Algorithms
Amna Saeed
 
Chp-1 DAA (2).pptx design analysis and algoritham presentation
Chp-1 DAA (2).pptx design analysis and algoritham presentation
vaishnavbhavna17
 
Design and Analysis of Algorithms.pptx
Design and Analysis of Algorithms.pptx
Syed Zaid Irshad
 
Lecture01 algorithm analysis
Lecture01 algorithm analysis
Zara Nawaz
 
Algo_Lecture01.pptx
Algo_Lecture01.pptx
ShaistaRiaz4
 
01 intro to algorithm--updated 2015
01 intro to algorithm--updated 2015
Hira Gul
 
Analysis of Algorithm full version 2024.pptx
Analysis of Algorithm full version 2024.pptx
rajesshs31r
 
Design Analysis of Alogorithm 1 ppt 2024.pptx
Design Analysis of Alogorithm 1 ppt 2024.pptx
rajesshs31r
 
Stack squeues lists
Stack squeues lists
James Wong
 
Stacks queues lists
Stacks queues lists
Young Alista
 

Recently uploaded (20)

Pavement and its types, Application of rigid and Flexible Pavements
Pavement and its types, Application of rigid and Flexible Pavements
Sakthivel M
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
 
grade 9 science q1 quiz.pptx science quiz
grade 9 science q1 quiz.pptx science quiz
norfapangolima
 
Montreal Dreamin' 25 - Introduction to the MuleSoft AI Chain (MAC) Project
Montreal Dreamin' 25 - Introduction to the MuleSoft AI Chain (MAC) Project
Alexandra N. Martinez
 
Cadastral Maps
Cadastral Maps
Google
 
How Binning Affects LED Performance & Consistency.pdf
How Binning Affects LED Performance & Consistency.pdf
Mina Anis
 
Great power lithium iron phosphate cells
Great power lithium iron phosphate cells
salmankhan835951
 
Understanding Amplitude Modulation : A Guide
Understanding Amplitude Modulation : A Guide
CircuitDigest
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Glands & Lugs, Simplex...
362 Alec Data Center Solutions-Slysium Data Center-AUH-Glands & Lugs, Simplex...
djiceramil
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-ABB Furse.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-ABB Furse.pdf
djiceramil
 
David Boutry - Mentors Junior Developers
David Boutry - Mentors Junior Developers
David Boutry
 
4th International Conference on Computer Science and Information Technology (...
4th International Conference on Computer Science and Information Technology (...
ijait
 
最新版美国圣莫尼卡学院毕业证(SMC毕业证书)原版定制
最新版美国圣莫尼卡学院毕业证(SMC毕业证书)原版定制
Taqyea
 
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
ijab2
 
Impurities of Water and their Significance.pptx
Impurities of Water and their Significance.pptx
dhanashree78
 
Structural Design for Residential-to-Restaurant Conversion
Structural Design for Residential-to-Restaurant Conversion
DanielRoman285499
 
IntroSlides-June-GDG-Cloud-Munich community [email protected]
IntroSlides-June-GDG-Cloud-Munich community [email protected]
Luiz Carneiro
 
Center Enamel can Provide Aluminum Dome Roofs for diesel tank.docx
Center Enamel can Provide Aluminum Dome Roofs for diesel tank.docx
CenterEnamel
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Pavement and its types, Application of rigid and Flexible Pavements
Pavement and its types, Application of rigid and Flexible Pavements
Sakthivel M
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-Adaptaflex.pdf
djiceramil
 
Fundamentals of Digital Design_Class_12th April.pptx
Fundamentals of Digital Design_Class_12th April.pptx
drdebarshi1993
 
grade 9 science q1 quiz.pptx science quiz
grade 9 science q1 quiz.pptx science quiz
norfapangolima
 
Montreal Dreamin' 25 - Introduction to the MuleSoft AI Chain (MAC) Project
Montreal Dreamin' 25 - Introduction to the MuleSoft AI Chain (MAC) Project
Alexandra N. Martinez
 
Cadastral Maps
Cadastral Maps
Google
 
How Binning Affects LED Performance & Consistency.pdf
How Binning Affects LED Performance & Consistency.pdf
Mina Anis
 
Great power lithium iron phosphate cells
Great power lithium iron phosphate cells
salmankhan835951
 
Understanding Amplitude Modulation : A Guide
Understanding Amplitude Modulation : A Guide
CircuitDigest
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-Glands & Lugs, Simplex...
362 Alec Data Center Solutions-Slysium Data Center-AUH-Glands & Lugs, Simplex...
djiceramil
 
362 Alec Data Center Solutions-Slysium Data Center-AUH-ABB Furse.pdf
362 Alec Data Center Solutions-Slysium Data Center-AUH-ABB Furse.pdf
djiceramil
 
David Boutry - Mentors Junior Developers
David Boutry - Mentors Junior Developers
David Boutry
 
4th International Conference on Computer Science and Information Technology (...
4th International Conference on Computer Science and Information Technology (...
ijait
 
最新版美国圣莫尼卡学院毕业证(SMC毕业证书)原版定制
最新版美国圣莫尼卡学院毕业证(SMC毕业证书)原版定制
Taqyea
 
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
VARICELLA VACCINATION: A POTENTIAL STRATEGY FOR PREVENTING MULTIPLE SCLEROSIS
ijab2
 
Impurities of Water and their Significance.pptx
Impurities of Water and their Significance.pptx
dhanashree78
 
Structural Design for Residential-to-Restaurant Conversion
Structural Design for Residential-to-Restaurant Conversion
DanielRoman285499
 
Center Enamel can Provide Aluminum Dome Roofs for diesel tank.docx
Center Enamel can Provide Aluminum Dome Roofs for diesel tank.docx
CenterEnamel
 
Machine Learning - Classification Algorithms
Machine Learning - Classification Algorithms
resming1
 
Ad

Introduction to Algorithms, Steps, Complexity

  • 1. INTRODUCTION TO DESIGN A ND ANALYSIS OF ALGORITHM S (DAA) COURSE OVERVIEW AND INTRODUCTION TO ALGORITHMS 25/09/2024
  • 2. 25/09/2024 WELCOME TO THE COURSE! • THIS COURSE WILL PROVIDE A COMPREHENSIVE UNDERSTANDING OF ALGORITHM DESIGN AND ANALYSIS. • WE WILL LEARN ABOUT DIFFERENT TYPES OF ALGORITHMS, THEIR EFFICIENCY, AND APPLICATIONS. • BY THE END OF THE COURSE, YOU WILL BE EQUIPPED TO DESIGN AND ANALYSE ALGORITHMS FOR VARIOUS PROBLEMS.
  • 3. 25/09/2024 WHAT IS AN ALGORITHM?  AN ALGORITHM IS A STEP-BY-STEP PROCEDURE OR FORMULA FOR SOLVING A PROBLEM.  IT CONSISTS OF A SEQUENCE OF FINITE INSTRUCTIONS TO ACCOMPLISH A SPECIFIC TASK.  ALGORITHMS ARE FUNDAMENTAL TO COMPUTER SCIENCE AND PROGRAMMING.
  • 4. 25/09/2024 ALGORITHM DEFINITIONS AN ALGORITHM IS AN ORDERED SET OF UNAMBIGUOUS EXECUTABLE STEPS, DEFINING A TERMINATING PROCESS.
  • 5. 25/09/2024 KEY CHARACTERISTICS OF ALGORITHMS FINITE - AN ALGORITHM MUST HAVE A CLEAR STARTING AND ENDING POINT. PRECISE - EACH STEP IN THE ALGORITHM IS CLEARLY DEFINED AND UNAMBIGUOUS. EFFECTIVE - THE ALGORITHM CAN BE EXECUTED WITHIN A REASONABLE TIME FRAME WITH AVAILABLE RESOURCES. INPUT/OUTPUT - IT TAKES INPUTS AND PRODUCES OUTPUTS, PROCESSING INFORMATION TO ACHIEVE A DESIRED OUTCOME.
  • 6. 25/09/2024 EVERYDAY APPLICATIONS OF ALGORITHMS ALGORITHMS ARE PART OF OUR DAILY LIVES. SEARCH ENGINES - ALGORITHMS SORT AND DISPLAY THE MOST RELEVANT SEARCH RESULTS. GPS NAVIGATION - ALGORITHMS CALCULATE THE FASTEST ROUTE AND ESTIMATE TRAVEL TIME. E-COMMERCE - ALGORITHMS RECOMMEND PRODUCTS BASED ON BROWSING HISTORY.
  • 7. 25/09/2024 ALGORITHMS IN INDUSTRY ALGORITHMS PLAY A CRUCIAL ROLE IN VARIOUS INDUSTRIES: FINANCE - ALGORITHMS ANALYSE MARKET TRENDS AND MANAGE INVESTMENTS. HEALTHCARE - ALGORITHMS ASSIST IN DIAGNOSIS AND TREATMENT PLANNING. E-COMMERCE - ALGORITHMS OPTIMIZE SUPPLY CHAIN AND INVENTORY MANAGEMENT.
  • 8. 25/09/2024 WHY STUDY ALGORITHMS? • ALGORITHMS ARE THE BACKBONE OF SOFTWARE DEVELOPMENT AND TECHNOLOGY. • THEY ENABLE COMPUTERS TO PROCESS DATA, MAKE DECISIONS, AND SOLVE PROBLEMS. • UNDERSTANDING ALGORITHMS HELPS IN DEVELOPING EFFICIENT AND EFFECTIVE SOFTWARE SOLUTIONS.
  • 9. 25/09/2024 ALGORITHM: MAKING A CUP OF TEA 1. START BEGIN WITH A CLEAN KETTLE AND A CUP. 2. BOIL WATER FILL THE KETTLE WITH WATER AND TURN IT ON TO BOIL. 3. PREPARE THE CUP PLACE A TEA BAG IN THE CUP. 4. POUR WATER ONCE THE WATER BOILS, POUR IT INTO THE CUP OVER THE TEA BAG. 5. STEEP THE TEA LET THE TEA STEEP FOR 3-5 MINUTES, DEPENDING ON DESIRED STRENGTH. 6. REMOVE TEA BAG TAKE OUT THE TEA BAG AND DISCARD IT. 7. ADD CONDIMENTS ADD SUGAR, MILK, OR LEMON IF DESIRED. 8. END THE TEA IS READY TO DRINK. Characteristics Demonstrated: • Finite: The process has a clear start and end. • Precise: Each step is specific (e.g., "boil water," "steep for 3-5 minutes"). • Effective: Assuming we have a kettle and tea, this can be done efficiently. • Input/Output: Input (water, tea bag), Output (cup of tea).
  • 10. 25/09/2024 ALGORITHM: ADDING TWO NUMBERS YOU WANT TO ADD TWO NUMBERS, 3 AND 5, TO GET THE SUM. 1. START TAKE TWO NUMBERS: 3 AND 5. 2. ADD THE NUMBERS PERFORM THE ADDITION: 3 + 5. 3. OUTPUT THE RESULT THE SUM IS 8. 4. END THE PROCESS IS COMPLETE. Characteristics Demonstrated: • Finite: The addition has a clear start and end. • Precise: The operation (addition) is straightforward. • Effective: The addition is performed immediately. • Input/Output: Input (numbers 3 and 5), Output (sum 8).
  • 11. 25/09/2024 ALGORITHM: SORTING A LIST OF NUMBERS PROBLEM: SORT A LIST OF NUMBERS: [5, 2, 9, 1, 5, 6]. 1. START BEGIN WITH THE LIST: [5, 2, 9, 1, 5, 6]. 2. COMPARE ADJACENT ELEMENTS COMPARE THE FIRST TWO ELEMENTS (5 AND 2). IF THE FIRST IS GREATER THAN THE SECOND, SWAP THEM. 3. REPEAT FOR THE NEXT PAIR MOVE TO THE NEXT PAIR (NOW 5 AND 9) AND REPEAT STEP 2. CONTINUE THIS PROCESS TO THE END OF THE LIST. 4. END OF PASS AFTER REACHING THE END OF THE LIST, IF ANY SWAPS WERE MADE, REPEAT THE ENTIRE PROCESS. IF NO SWAPS WERE MADE, THE LIST IS SORTED. 5. OUTPUT THE SORTED LIST ONCE NO MORE SWAPS ARE NEEDED, OUTPUT THE SORTED LIST. 6. END THE SORTING PROCESS IS COMPLETE.
  • 12. 25/09/2024 ALGORITHM: SORTING A LIST OF NUMBERS CHARACTERISTICS DEMONSTRATED: • FINITE: THE ALGORITHM ENDS ONCE THE LIST IS SORTED. • PRECISE: EACH COMPARISON AND SWAP IS CLEARLY DEFINED. • EFFECTIVE: IT WORKS, ALTHOUGH NOT THE MOST EFFICIENT FOR LARGE LISTS (INTRODUCES CONCEPT OF EFFICIENCY).
  • 13. 25/09/2024 MULTIPLE ALGORITHMS FOR A SINGLE PROBLEM • A SINGLE PROBLEM CAN OFTEN BE SOLVED BY MORE THAN ONE ALGORITHM. • EACH ALGORITHM MAY DIFFER IN APPROACH, EFFICIENCY, AND COMPLEXITY. • UNDERSTANDING VARIOUS ALGORITHMS HELPS IN CHOOSING THE BEST ONE BASED ON SPECIFIC NEEDS AND CONSTRAINTS.
  • 14. 25/09/2024 FIND THE SUM OF THE FIRST N NATURAL NUMBERS • NATURAL NUMBERS: 1, 2, 3, 4, ... • GOAL: CALCULATE THE SUM S OF THE FIRST N NATURAL NUMBERS.
  • 15. 25/09/2024 METHOD 1: ITERATIVE APPROACH HOW IT WORKS: 1.START WITH A SUM OF 0. 2.ADD EACH NUMBER FROM 1 TO N TO THE SUM. 3.CONTINUE UNTIL YOU REACH N. To find the sum of the first 5 natural numbers: •Start with sum = 0. •Add 1: sum = 1. •Add 2: sum = 3. •Add 3: sum = 6. •Add 4: sum = 10. •Add 5: sum = 15. •Result: 15. Pros: Simple to understand and implement. Cons: Takes more time for large n (O(n) time complexity).
  • 16. 25/09/2024 METHOD 2: MATHEMATICAL FORMULA • HOW IT WORKS: 1.USE THE FORMULA FOR THE SUM OF THE FIRST N NATURAL NUMBERS: S=N×(N+1)/2 Example: To find the sum of the first 5 natural numbers: •Use the formula: S=5×(5+1)/2=5×6/2=15 •Result: 15. Pros: Very fast (O(1) time complexity) and doesn’t require iteration. Cons: Requires knowledge of the formula.
  • 17. 25/09/2024 IMPORTANCE OF EFFICIENT ALGORITHMS • SPEED: EFFICIENT ALGORITHMS RUN FASTER, ESPECIALLY AS INPUT SIZES GROW. • RESOURCE USAGE: SAVES COMPUTING RESOURCES LIKE MEMORY AND POWER. • SCALABILITY: HANDLES LARGE DATASETS OR COMPLEX PROBLEMS WITHOUT CRASHING.
  • 18. 25/09/2024 THE NEED FOR ALGORITHM ANALYSIS • PREDICT PERFORMANCE: UNDERSTAND HOW AN ALGORITHM PERFORMS AS INPUTS GROW. • OPTIMIZE SOLUTIONS: FIND WAYS TO IMPROVE EXISTING ALGORITHMS. • CHOOSE THE BEST APPROACH: SELECT THE RIGHT ALGORITHM FOR THE PROBLEM.
  • 19. 25/09/2024 WHAT IS ALGORITHM ANALYSIS? • DEFINITION: ALGORITHM ANALYSIS IS THE PROCESS OF DETERMINING THE EFFICIENCY OF AN ALGORITHM IN TERMS OF TIME AND SPACE. • PURPOSE: HELPS TO PREDICT THE BEHAVIOUR OF ALGORITHMS WITH DIFFERENT INPUTS, AND GUIDES THE CHOICE OF THE BEST ALGORITHM FOR A PROBLEM.
  • 20. 25/09/2024 ALGORITHM ANALYSIS TIME COMPLEXITY: MEASURES THE TIME AN ALGORITHM TAKES TO RUN AS A FUNCTION OF THE INPUT SIZE. • NOTATIONS: O(N), O(LOG N), O(N²), ETC. SPACE COMPLEXITY: MEASURES HOW MUCH MEMORY AN ALGORITHM USES AS THE INPUT SIZE GROWS. • EXAMPLE: AN ALGORITHM THAT USES AN ADDITIONAL ARRAY HAS HIGHER SPACE COMPLEXITY.
  • 21. 25/09/2024 COST COMPARISON: TIME VS. SPACE HARDWARE ADVANCEMENTS: MEMORY (RAM) IS RELATIVELY CHEAP AND PLENTIFUL, BUT TIME (SPEED) CANNOT BE EASILY BOUGHT. • EXAMPLE: UPGRADING HARDWARE CAN INCREASE SPACE, BUT NOT NECESSARILY IMPROVE ALGORITHM SPEED. IMPACT ON PERFORMANCE: A SLIGHT INCREASE IN SPACE COMPLEXITY IS OFTEN ACCEPTABLE IF IT SIGNIFICANTLY REDUCES TIME COMPLEXITY. • EXAMPLE: USING A HASH TABLE (MORE SPACE) FOR FASTER LOOKUPS COMPARED TO A LIST.
  • 22. 25/09/2024 WHEN TIME COMPLEXITY MATTERS MOST REAL-TIME SYSTEMS: SYSTEMS THAT MUST RESPOND QUICKLY (E.G., VIDEO GAMES, FINANCIAL TRADING PLATFORMS) PRIORITIZE SPEED. • EXAMPLE: IN GAMING, LAG CAUSED BY SLOW ALGORITHMS CAN RUIN THE EXPERIENCE. BIG DATA APPLICATIONS: HANDLING LARGE DATASETS EFFICIENTLY IS CRUCIAL. • EXAMPLE: DATA PROCESSING IN COMPANIES LIKE GOOGLE OR FACEBOOK, WHERE SECONDS OF DELAY CAN MEAN MILLIONS OF DOLLARS LOST.
  • 23. 25/09/2024 WHEN SPACE COMPLEXITY TAKES PRIORITY MEMORY-CONSTRAINED ENVIRONMENTS: IN EMBEDDED SYSTEMS OR MOBILE DEVICES, SPACE IS LIMITED. • EXAMPLE: SOFTWARE FOR IOT DEVICES WITH VERY LIMITED RAM. CLOUD STORAGE: STORING DATA IN THE CLOUD CAN BE COSTLY, SO EFFICIENT SPACE USAGE IS IMPORTANT TO REDUCE COSTS.
  • 24. 25/09/2024 BALANCING TIME AND SPACE COMPLEXITY TRADE-OFFS: SOMETIMES, A BALANCE MUST BE FOUND BETWEEN TIME AND SPACE COMPLEXITY. • EXAMPLE: ALGORITHMS LIKE DYNAMIC PROGRAMMING USE EXTRA SPACE (MEMOIZATION) TO REDUCE TIME COMPLEXITY. CONTEXT MATTERS: THE IMPORTANCE OF TIME VS. SPACE COMPLEXITY DEPENDS ON THE SPECIFIC APPLICATION AND CONSTRAINTS. • EXAMPLE: IN SOME SCENARIOS, SAVING MEMORY IS MORE CRITICAL, BUT IN MOST MODERN APPLICATIONS, SPEED TAKES PRECEDENCE.
  • 25. 25/09/2024 THE PRIMACY OF TIME COMPLEXITY FOCUS ON TIME: IN MOST CASES, OPTIMIZING TIME COMPLEXITY HAS A GREATER IMPACT ON PERFORMANCE. CONSIDER THE CONTEXT: ALWAYS ANALYSE BOTH TIME AND SPACE, BUT PRIORITIZE TIME IN MOST GENERAL-PURPOSE APPLICATIONS. EFFICIENCY MATTERS: EFFICIENT ALGORITHMS IMPROVE USER EXPERIENCE, SCALABILITY, AND OVERALL SYSTEM PERFORMANCE.
  • 26. 25/09/2024 TIME COMPLEXITY OF A SIMPLE LOOP PROBLEM: PRINT NUMBERS FROM 1 TO N. CODE: DEF PRINT_NUMBERS(N): FOR I IN RANGE(1, N+1): PRINT(I)
  • 27. 25/09/2024 TIME COMPLEXITY OF A SIMPLE LOOP TIME COMPLEXITY: • STEP 1: IDENTIFY THE BASIC OPERATION: PRINT(I). • STEP 2: DETERMINE HOW MANY TIMES THE BASIC OPERATION IS EXECUTED. • THE FOR LOOP RUNS N TIMES. • TIME COMPLEXITY: SINCE THE LOOP RUNS N TIMES, THE TIME COMPLEXITY IS O(N). Space Complexity: Step 1: Identify the space used by variables. • The function uses a single integer variable i and input n. Step 2: Since the space used is independent of n and does not grow with input size, the space complexity is O(1).