Вы находитесь на странице: 1из 7

DESIGN ANALYSIS AND ALGORITHMS

(UNIT I QUESTION BANK)

TOPICS COVERED: INTRODUCTION, ALGORITHM, SCOPE OF ALGORITHMS, STEPS OF DEVELOPMENT OF ALGORITHM

WHAT IS AN ALGORITHM? An algorithm is a well-defined sequence of steps to solve a problem of interest. It is a procedure for solving a problem, with special focus on solving problems using a computer. WHAT ARE THE TYPES OF ALGORITHM? 1. Search algorithms (Binary search. Fibonacci search, Golden section search, etc.) 2. Sorting algorithms (Straight insertion sort. Bubble sort. Quick sort. Heap sort. ctc.) 3. Shortest path algorithms (Dijkstras algorithm, Floyd's algorithm, etc.) 4. Minimum spanning tree algorithms (PRIM algorithm. Kruskals algorithm. etc.) 5. Brunch and bound algorithm (Minimization type. Muximization type) 6. Hungarian method for assignment problem 7. Simplex algorithm for linear programming problem List out Search algorithms Binary search Fibonacci search Golden section search List out Sorting Algorithms Straight Insertion sort Bubble sort Quick sort Heap sort List out Shortest path algorithms Dijkstras algorithm Floyd's algorithm List out Minimum spanning tree algorithms PRIM algorithm. Kruskals algorithm. List out Brunch and bound algorithms Minimization type. Muximization type

WHAT IS THE SCOPE OF ALGORITHMS? I. Production management Resource allocation in project network Plant location problems (single facility location problem. multi-facility location problem) Aggregate planning problem

Master production planning problem Minimizing the mean tardiness in single machine scheduling problem Minimizing the weighted mean tardiness in single machine scheduling problem Minimizing the sum of the tardiness and earliness in single machine scheduling problem Minimizing the sum of the weighted earliness and tardiness in single machine scheduling problem Maximizing the balancing efficiency of an assembly line Process layout design. which results in minimum cost of materials handling Resource leveling in project network 2. Marketing management Dealer location problem Warehouse location problem Salesman assignment problem Product pricing problem Media planning problem Location of alter sales service centers Traveling salesman problem Location of marketing branch offices

3. Financial management Determination of rate of return Capital budgeting (allocation of fund to different plants and each plant with different alternatives) Selection of mutually exclusive and collectively exhaustive projects Portfolio management 4. Personnel management In-house training problem for employees Manpower planning problem Allocation of fund to personnel activities for improved labor productivity. Assignment Problem (Matching of employees with tasks for better productivity) 5. Computer and other areas Fire stations Location problem Schools location problem Brunch banks location problem Scheduling processors in parallel computers Encryption and decryption problems Queue Stack Tree B Tree Minimum spanning true

Shortest path problem Branch and bound algorithms Maximal flow problem Sorting algorithms Searching algorithms

WHAT ARE THE STEPS OF DEVELOPMENT OF ALGORITHM? 1. 2. 3. 4. 5. 6. 7. 8. 9. Writing the statement of the problem Developing a model Designing the algorithm Checking the correctness of the algorithm Implementing the algorithm Analyzing the complexity of the algorithm Testing the program Comparison with the best existing algorithm Documenting the algorithm

EXPLAIN STEPS OF DEVELOPMENT OF ALGORITHM? Step 1: Writing the statement of the problem If the problem is not clearly stated, it will result in Garbage in and Garbage out Situation (GIGO) Step 2. Development of model A model is an abstraction of reality. It will help people to represent a reality in un understandable form, A model may be in the form of a graph. Matrix. Equation. Sequence of logic. Mathematical problem with an objective function and a set of constraints,.etc. In the traveling salesman problem, the representation of the roads in a state, which connect different cities, in the form of a distance network is an example of a model. Step 3: Design of algorithm: For many problems, algorithm design is an iterative process. This continues until clear-cut steps are obtained. One can use the concept of top-down programming concept to design an algorithm While designing the steps of all algorithm the researcher should always remember the objective(s) of the problem in mind and accordingly each and every step is to he added into the algorithm such that the entire

algorithm contains a less number of steps, takes tem time for executing the algorithm and requires less computer primary memory for storing the input and intermediate results of the algorithm. Step 4: Correctness of the algorithm The correctness of the algorithm mains the correctness of the logic/steps of the algorithm. One has to verify the whether each end every module is working as per the expected results by giving set of predetermined input. This is possible by doing hand calculation for a few iterations and comparing the intermediate results with that of known results. Step 5: Implementation The algorithm is to be converted into a set of codes (program). Which can be executed in a computer. At this stage. the variable, and their types, arrays and their sizes, data structures and subroutines, winch are required in the program should be decided depending on the reality. language in which the algorithm is to be implemented is an important decision Step 6: Analysis of complexity of algorithm The complexity of an algorithm means a function representing the number of steps (time, required to solve a problem under the worst case behavior. The worst case behavior of an algorithm means the maximum number of steps executed (or time taken) to solve a problem. Time complexity: Ac staled earlier. the time complexity function of an algorithm gives the worst case estimate in terms of the number of steps to be executed for the algorithm. The order of the algorithm is defined like, O(n2),O(n!). O(2n). etc. The big O means the order of the algorithm. O(n2) means that order of the algorithm is n2 which indicates the maximum number of steps required to solve any problem by that algorithm is n2 where n is the problem size. The time complexity function may be either polynomial or exponential. Volume complexity: The volume complexity function of an algorithm represents the amount of prime memory space required while executing the algorithm. this may be either polynomial or exponential. Step 7: Program testing Once the algorithm complexity is analyzed. next the program should be tested for its correctness. Though the correctness of the algorithm has been verified earlier; while converting the algorithm into a program there may be some error in terms of implementation. Step 8: Comparison with the best existing algorithm If the performance of the improved/new algorithm is better than that of the exiting algorithm. then recommend the improved / new algorithm for use Step 9: Documentation The final step of the algorithm development is the documentation. The documentation can be classified into internal documentation and External Documentation.

Define the following 1.Worst case Behaviour The worst case behavior of an algorithm means the maximum number of steps executed (or time taken) to solve a problem. 2. O(n2) means? O- order of the algorithm. n- problem size O(n2) means that order of the algorithm is n2 which indicates the maximum number of steps required to solve any problem by that algorithm is n2 . Time & Volume are the complexity functions Complexity functions may be either polynomial or exponential Part A What are the Classification Of Problems Combinatorial Algorithm Can Be Solved Using_______________ Differentiate Polynomial & Combinatorial Problem Types Of Solutions Define Complete Enumeration Method, Branch And Bound Method & Heuristics What Are The Approches Of Branching Explain BFS / DFS State An Example of Heuristics. What are the components of Algorithm Define :- Function Vertex, Predicate Vertex, Collecting Vertex. State Some Examples of Combinatorial Problems State Some Example Of Polynomial Problem Polynomial Problem Cannot be solved in finite Time True / False Exponential Problem Can Be Solved within A given Time True/False Part B Distinguish Polynomial / Exponential Problem Illustrate Polynomial Problem with Example Illustrate Exponential Problem With Example Explain Complete Enumeration Method Explain Branch & bound and Heuristics. Write Short Notes On Function Vertex Write Short Notes On Predicate Vertex Write Short Notes On Collecting Vertex

Part C Explain The Types Of Problems Illustrate The 3 types of solution Illustate The Components Of Algorithm With example.

Вам также может понравиться