1 / 7

CPSC 320: Intermediate Algorithm Design & Analysis

CPSC 320: Intermediate Algorithm Design & Analysis. Steve Wolfman. Course Learning Goals. Design algorithms for computational problems Techniques for thinking iteratively and recursively Evaluate correctness/performance of algorithms

rafael
Download Presentation

CPSC 320: Intermediate Algorithm Design & 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. CPSC 320: Intermediate Algorithm Design & Analysis Steve Wolfman

  2. Course Learning Goals • Design algorithms for computational problems • Techniques for thinking iteratively and recursively • Evaluate correctness/performance of algorithms • Mathematical tools for handling recurrence relations and summations • Derive lower bounds on the time (or space or other resources) it takes to solve a problem • Approaches for assessing a problem space and the fit of a solution to the problem

  3. Representative Problem:Residency Insanity

  4. Accomplishments in Resident Matching • Clearly defined meaningful terms and symbols (e.g., preference, matching, stable matching) • Stated and related versions of the problem with differing complexity and abstractions (e.g., 1-to-1 vs. many-to-1 matching) • Formally established whether the problem is solvable in general • Formally established properties of our algorithmic approach, including performance

  5. CPSC 320 Terms to Define As We Go • Problem • Instance • Algorithm • Machine model Note: in 320 we write algorithms to clearly express a solution to other humans.So, we may use pseudo-code, words, or even pictures, and we often ignore error-checking.

  6. What’s Next? • Read course policies on the website • You are expected to become familiar in the next week with the complete website, including e.g. grading policies • CLRS Sections 1, 2, and 3.2 and Appendices A.1and B.1-B.3

  7. On Your Own Use the readings to: • Review CPSC 221 • Consider Insertion-Sort, Selection-Sort, Merge-Sort, and Stable-Marriage from the perspective of alternate algorithm design approaches: • Insertion: Consume input iteratively, maintaining a complete solution-so-far • Selection: Produce output iteratively, always producing correct output-so-far • Stable-Marriage: Iterative construction and repair of a solution (a bit like each of insertion and selection) • Merge: Divide the problem into pieces, solve the pieces, and merge the solutions (Divide-and-Conquer)

More Related