•5 recomendaciones•2,382 vistas

Descargar para leer sin conexión

Denunciar

Algorithm, Characteristics, design methods

Seguir

- 1. What is algorithm? Characteristics of algorithm Design method ALGORITHM
- 2. An algorithm is a finite set of instructions that if followed, accomplishes a particular task. An input to an algorithm specifies an instance of the problem. An algorithm can be specified in a natural language or pseudo code. Algorithm can be implemented as computer programs. algorithm
- 3. PROBLEM ALGORITHM COMPUTERINPUT OUTPUT NOTATION OF ALGORITHM
- 4. INPUT: zero or more quantities externally supplied. OUTPUT: at least one quantity is produced. DEFINITENESS: Each instruction is clear and ambiguous. FINITENESS: the algorithm terminates after a finite number of steps. EFFICIENCY: every instruction must be very basic. UN AMBIGUITY: an algorithm must be expressed in a fashion that is completely free for ambiguity. Characteristics of algorithm
- 5. 1. Understanding the problem. 2. Ascertaining the capabilities of computational device. 3. Choosing between exact and approximate problem solving. 4. Deciding the appropriate data structure. 5. Algorithm design techniques. 6. Method of specifying an algorithm. 7. Proving an algorithm’s correctness. 8. Analyzing an algorithm. 9. Coding an algorithm. DESIGN METHODS
- 6. UNDERSTAND THE PROBLEM DECIDING ON COMPUTATIONAL EXACT VS APPOROXIMATE DATA STRUCTURE DESIGN TECHNIQUES DESIGN AN ALGORITHM PROVE CORRECTNESS ANALYZE THE ALGORITHM CODE THE ALGORITHM
- 7. Reading the problem’s description carefully. Ask questions and clarify the doubt arise in the problem. Do some examples and the think about special cases. Divide the problem into smaller problems until it become manageable size. 1.Understanding the problem
- 8. In random access machine, instruction to be executed one after another, one operation at a time. Algorithm designed to be executed on such machines are called sequential algorithm. The central assumption of the RAM model does not called for some new computers that can execute operations concurrently. That is operation executed parallel. Algorithm that take the advantage of operations that executed concurrently is called parallel algorithm 2.Ascertaing capabilities of a computational device
- 9. The next principal decision is to choose between solving the problem exactly or solving the problem approximately. Exact algorithm: solve the problem exactly . Appropriate algorithm: solve the problem approximately. 3. Choosing between exact and approximate problem solving
- 10. Some problem can not be solved exactly - extracting square root - solving non linear equations - evaluating definite integrals Exact algorithm can be slow because of the problem’s complexity. - traveling salesman problem of finding the shortest path through n cities It is a part of more sophisticated algorithm that solves a problem exactly BENEFITS OF APPROXIMATE ALGORITHM
- 11. defined as a particular scheme of organizing related data items. Algorithm + Data structure = Programs. Important for both design and analysis of algorithms Some algorithm do not demand any ingenuity is representing their inputs. Some of the algorithm design techniques is used to structuring or restricting data specifying a problem’s instance. The variability is algorithm is due to in which the data of program are stored. 4.Deciding the appropriate data structure.
- 12. An algorithm design technique is a general approach to solving problems algorithmically that is applicable to a variety of problems from different areas of computing Merits: Provide guidance for designing algorithms for new problem. Algorithm are the cornerstone of computer science. Used to classify the algorithm based on the design idea. can serve as a natural way to both categorize and study algorithms. 5. algorithm design technique
- 13. There are three options that are most widely used for specifying algorithms. Euclid’s algorithm Pseudo code Flow chart 6. METHOD OF SPECIFYING AN ALGORITHM
- 14. 1. Euclid’s algorithm: specified by simple English statement. step by step form 2. Flow chart: It is a method of expressing an algorithm by diagrammatic representation. It is very simple. 6. METHOD OF SPECIFYING AN ALGORITHM (Cont.)
- 15. 3. Pseudo code: It is a mixture of natural language and programming language constructs. It is move precise than a natural language. For simplicity, declaration of the variable omitted. For, if and while statements are used to show the scope of variables. “ ” is used for assignment operation. “// ” is used for comments 6. METHOD OF SPECIFYING AN ALGORITHM (cont.)
- 16. Once an algorithm has been specified, then its correctness must be proved. The algorithm yields a required result for every legitimate input in a finite amount of time. Proving correctness - mathematical induction. In mathematical induction an algorithms iteration provide a natural sequence of steps needs for proofs. The notation of correctness for approximation is less straight forward than it is for exact algorithm 7.Proving an algorithm’s correctness
- 17. • Efficiency of an algorithm can be measured in terms of space and time. • Space: The number of units, it requires for memory storage. • Time: The amount of time needed for executing an algorithm. Complexity of an algorithm is measured by calculating the time taken, space required for performing the algorithm. 8.Analyzing algorithms
- 18. Once an algorithm has been selected, a 10-506 speed up may be worth an effort. An algorithm’s optimally is not about the efficiency of an algorithm but about the complexity of the problem. Another important issue of algorithmic problem solving is the question of whether or not every problem can be solved by algorithm. 9. Coding an algorithm