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 

More Related Content

PPTX
Operations management takira motors
PPSX
AQUASOIL FEFLOW Training Slides
PPTX
Seminar_Presentation(Mar 2023).pptx
PPTX
Excel training seminars on hands-on.pptx
PPTX
Models of Operational research, Advantages & disadvantages of Operational res...
PPTX
Introducing Llama: Open and Efficient Foundation Language Models
PPTX
31 days Refactoring
PPTX
My feedback on ddd europe
Operations management takira motors
AQUASOIL FEFLOW Training Slides
Seminar_Presentation(Mar 2023).pptx
Excel training seminars on hands-on.pptx
Models of Operational research, Advantages & disadvantages of Operational res...
Introducing Llama: Open and Efficient Foundation Language Models
31 days Refactoring
My feedback on ddd europe

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

PPTX
Data Structure and Algorithms
PPTX
Using Metrics for Fun, Developing with the KV Store + Javascript & News from ...
PPTX
Agile_Software_Development_SCRUM_18Jan2022.pptx
PPTX
PPTX
Testing Database Changes
PPTX
How to build a debuggle runtime
PDF
CFD Best Practices and Troubleshooting - with speaker notes
PPTX
Performance Issue? Machine Learning to the rescue!
PDF
Performance tuning Grails applications
PPTX
Uthought executive overview
PDF
Java Performance Tuning
PPTX
Context-Driven Performance Testing
PPTX
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...
PDF
Get Loose! Microservices and Loosely Coupled Architectures
PDF
Get Loose! Microservices and Loosely Coupled Architectures
PPTX
Cara Membuat Pewarisan Class (Inheritance).pptx
KEY
Computer modelling and simulations
PDF
01 Revision Introduction SLides Od Design ANd Aalaysis Of aLgo
PPTX
Agile User Stories | The complete Review
PPTX
Rational unified process
Data Structure and Algorithms
Using Metrics for Fun, Developing with the KV Store + Javascript & News from ...
Agile_Software_Development_SCRUM_18Jan2022.pptx
Testing Database Changes
How to build a debuggle runtime
CFD Best Practices and Troubleshooting - with speaker notes
Performance Issue? Machine Learning to the rescue!
Performance tuning Grails applications
Uthought executive overview
Java Performance Tuning
Context-Driven Performance Testing
"A Framework for Developing Trading Models Based on Machine Learning" by Kris...
Get Loose! Microservices and Loosely Coupled Architectures
Get Loose! Microservices and Loosely Coupled Architectures
Cara Membuat Pewarisan Class (Inheritance).pptx
Computer modelling and simulations
01 Revision Introduction SLides Od Design ANd Aalaysis Of aLgo
Agile User Stories | The complete Review
Rational unified process
Ad

Recently uploaded (20)

PPTX
"Array and Linked List in Data Structures with Types, Operations, Implementat...
PDF
Cryptography and Network Security-Module-I.pdf
PPTX
Module 8- Technological and Communication Skills.pptx
PDF
Present and Future of Systems Engineering: Air Combat Systems
DOC
T Pandian CV Madurai pandi kokkaf illaya
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PPTX
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
PDF
Design of Material Handling Equipment Lecture Note
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
PPTX
Amdahl’s law is explained in the above power point presentations
PPT
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PDF
VSL-Strand-Post-tensioning-Systems-Technical-Catalogue_2019-01.pdf
PDF
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
PDF
Beginners-Guide-to-Artificial-Intelligence.pdf
PDF
First part_B-Image Processing - 1 of 2).pdf
PDF
MLpara ingenieira CIVIL, meca Y AMBIENTAL
PPTX
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
PPTX
Management Information system : MIS-e-Business Systems.pptx
"Array and Linked List in Data Structures with Types, Operations, Implementat...
Cryptography and Network Security-Module-I.pdf
Module 8- Technological and Communication Skills.pptx
Present and Future of Systems Engineering: Air Combat Systems
T Pandian CV Madurai pandi kokkaf illaya
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
Design of Material Handling Equipment Lecture Note
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
Amdahl’s law is explained in the above power point presentations
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
distributed database system" (DDBS) is often used to refer to both the distri...
VSL-Strand-Post-tensioning-Systems-Technical-Catalogue_2019-01.pdf
UEFA_Embodied_Carbon_Emissions_Football_Infrastructure.pdf
Beginners-Guide-to-Artificial-Intelligence.pdf
First part_B-Image Processing - 1 of 2).pdf
MLpara ingenieira CIVIL, meca Y AMBIENTAL
A Brief Introduction to IoT- Smart Objects: The "Things" in IoT
Management Information system : MIS-e-Business Systems.pptx
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).