1 / 11

Design and Analysis of Algorithms Review of algorithm analysis

Design and Analysis of Algorithms Review of algorithm analysis. Haidong Xue Summer 2012, at GSU. Computer. Software. Software Engineering. Database. Data mining. Network. Wireless Network. Algorithms. Applications. Web programming. Security. Data Structure. Signal processing.

jerrod
Télécharger la présentation

Design and Analysis of Algorithms Review of algorithm analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Design and Analysis of AlgorithmsReview of algorithm analysis HaidongXue Summer 2012, at GSU

  2. Computer Software Software Engineering Database Data mining Network Wireless Network Algorithms Applications Web programming Security Data Structure Signal processing Graphics Programming Language AI Robotics Compiler Principles of Compilers Automata Operating System Machine Language Computer Architecture Hardware Computer Composition Microchip Interfaces VLSI Design

  3. Knowledge tree Algorithms Classic data structure Analysis Algorithms for classic problems Design … Sorting Shortest path Matrix multiplication Asymptotic notations Probabilistic analysis Heap, Hashing, Binary Search Tree, RBT, …. Dynamic Programming Greedy Divide & Conquer O(), o(), (), (), () Quicksort, Heapsort, Mergesort, … … … … … … … … … … … … … … … … … … … …

  4. Review of algorithm analysis • What is an algorithm? • What are we interested in an algorithm? • How to measure an algorithm? • How to code divide-and-conquer algorithm? • Recursion • How to calculate the running time of divide-and-conquer algorithm? • Recurrence equation

  5. What is an algorithm? • “a sequence of operations” (informal) • E.g. • The algorithm to walk • The algorithm to cook instant noodle • The algorithm to sort N integers

  6. What is an algorithm? • Algorithm: walk to a destination while (have not arrived at the destination) { put the back foot in front of the front foot; }

  7. What is an algorithm? • Algorithm: cook a cup of instant noodles • Pull back lid to the dotted line. • Fill the cup to the inside line with boiling water from a kettle or from the microwave • Close lid and let stand for 3 minutes. • Stir well and add a pinch of salt and pepper to taste.

  8. What are we interested in an algorithm? • Correctness • Efficiency • Time complexity – measure the execution time? • Space complexity

  9. How to measure an algorithm? • The number of key operations • The number of space units needed • What if the input is uncertain?

  10. How to measure an algorithm? • E.g. Search a book in a box of books • Key operation: check the title of a book • Space unit: the space for one book

  11. Asymptotic Notation • O() • o() • () • () • ()

More Related