Upcoming SlideShare
×

# Algorithms 1

435 views

Published on

Published in: Education
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
435
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
2
0
Likes
0
Embeds 0
No embeds

No notes for slide

### Algorithms 1

1. 1. PRESENTED TO :-• Madam Huma 1
2. 2. Presented By:- Muhammad Uzair Rasheed 2009-CPE-03 UCE&T BZU MULTAN 2
3. 3. The Objective of Today’s PresentationTo become familiar with the concept ofalgorithms: – What they are? – What is their use? – What do they consist of? – What are the techniques used for representing them? – How do we can analyze them? 3
4. 4. al.go.rithm stepssequence Sequence of stepsthat can be taken to solve a given problem 4
5. 5. Solving Problems (1)When faced with a problem: 1. We first clearly define the problem 2. Think of possible solutions 3. Select the one that we think is the best under the prevailing circumstances 4. And then apply that solution 5. If the solution woks as desired, fine; else we go back to step 2 5
6. 6. Solving Problems (2)• It is quite common to first solve a problem for a particular case• Then for another• And, possibly another• And watch for patterns and trends that emerge• And to use the knowledge form those patterns and trends in coming up with a general solution 6
7. 7. Solving Problems (3)• It helps if we have experienced that problem or similar ones before• Generally, there are many ways of solving a given problem; the best problem-solvers come-up with the most appropriate solution more often than not!• The process that can be used to solve a problem is termed as the “algorithm” 7
8. 8. Examples• Addition• Conversion from decimal to binary• The process of boiling an egg• The process of mailing a letter• Sorting• Searching 8
9. 9. Let us write down the algorithm for a problem that is familiar to us Converting a decimal number into binary 9
10. 10. Convert 75 to Binary 2 75 remainder 2 37 1 2 18 1 2 9 0 2 4 1 2 2 0 2 1 0 0 1 1001011 10
11. 11. Algorithm for Decimal-to-Binary Conversion1. Write the decimal number2. Divide by 2; write quotient and remainder3. Repeat step 2 on the quotient; keep on repeating until the quotient becomes zero4. Write all remainder digits in the reverse order (last remainder first) to form the final result 11
12. 12. Three Requirements:1. Sequence is: a. Precise b. Consists of a limited number of steps2. Each step is: a. Unambiguous b. Executable3. The sequence of steps terminates in the form of a solution 12
13. 13. Why Algorithms are Useful?• Once we find an algorithm for solving a problem, we do not need to re-discover it the next time we are faced with that problem• Once an algorithm is known, the task of solving the problem reduces to following (almost blindly and without thinking) the instructions precisely• All the knowledge required for solving the problem is present in the algorithm 13
14. 14. Why Write an Algorithm Down?• For your own use in the future, so that you don’t have spend the time for rethinking it• Written form is easier to modify and improve• Makes it easy when explaining the process to others 14
15. 15. Analysis of Algorithms• Analysis in the context of algorithms is concerned with predicting the resources that re requires: – Computational time – Memory – Bandwidth – Logic functions• However, Time – generally measured in terms of the number of steps required to execute an algorithm - is the resource of most interest• By analyzing several candidate algorithms, the most efficient one(s) can be identified 15
16. 16. A Selection of Algorithmic Application Areas• Search• Sort• Cryptography• Numeric• Graphical• Quantum computing 16
17. 17. We’ll now talk about the variousways of representing algorithms.But, before we do that please allowme to say a few words about … 17
18. 18. Syntax & SemanticsAn algo. is “correct” if its: WARNINGS: – Semantics are correct 1. An algo. can be – Syntax is correct syntactically correct, yet semanticallySemantics: incorrect – very The concept embedded in dangerous situation! an algorithm (the soul!) 2. SyntacticSyntax: correctness is easier The actual representation to check as of an algorithm (the body!) compared with 18
19. 19. Now onto Algorithm Representation• We have said enough about algorithms – their definition, their types, etc.• But, how do we actually represent them?• Generally, SW developers represent them in one of three forms: – Pseudo code – Flowcharts – Actual code 19
20. 20. HOW TO WRITE AN ALGORITHM• Part-1:-• NAME OF ALGORITHM(NAME OF VARIABLES USED)• BRIEF DISCRIPTION ABOUT VARIABLES USED IN SIMPLE ENGLISH• Part-2:-• Series of steps to solve a problem 20
21. 21. OPERATIONS THAT CAN BE PERFORMED• TRAVERSING• INSERTION• DELETION• SORTING• MERGING 21
22. 22. Types of sorting• Bubble sorting.• Selection sorting.• Insertion sorting.• Merge sorting. 22
23. 23. Method of Bubble sorting• To sort data in an array of n elements, n-1 iterations are required.• There are following steps explain sorting of data in ascending order using bubble sort method: 23
24. 24. • In first Iteration, the largest value moves to the last position in the array.• In the second iteration the above process is repeated and the second largest value moves to the second last position and so on.• In n-1 iteration, the data is arranged in ascending order. 24