6
CS223 Advanced Data Structures and Algorithms 1 Review for Final Review for Final Neil Tang Neil Tang 04/27/2010 04/27/2010

Review for Final Neil Tang 04/27/2010

  • Upload
    zaynah

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Review for Final Neil Tang 04/27/2010. Course Survey. Please complete the course survey at: http://www.cs.montana.edu/survey/. Time Complexity Analysis. Asymptotic notations (O, ,  ): definition, properties Important functions: polynomial, logN, 2 N 4 Rules - PowerPoint PPT Presentation

Citation preview

Page 1: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 1

Review for Final Review for Final

Neil TangNeil Tang04/27/201004/27/2010

Page 2: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 2

Course SurveyCourse Survey

Please complete the course survey at:

http://www.cs.montana.edu/survey/

Page 3: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 3

Time Complexity AnalysisTime Complexity Analysis

Asymptotic notations (O, , ): definition, properties

Important functions: polynomial, logN, 2N

4 Rules

Recursion and the master method

Page 4: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 4

GraphsGraphs

Basic concepts

Adjacency matrix and list

Topological sort

BFS, DFS and their applications (strong connected components)

Shortest path: Dijkstra’s algorithm, the Bellman-Ford algorithm, implementation.

Page 5: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 5

GraphsGraphs

Minimum spanning tree: Prim’s algorithm, Kruskal’s algorithm, implementation.

Maximum flow: The Ford-Furkerson algorithm, implementation.

Time complexities

Page 6: Review for Final  Neil Tang 04/27/2010

CS223 Advanced Data Structures and Algorithms 6

Algorithm Design TechniquesAlgorithm Design Techniques

Dynamic programming: Recursive equation evaluation, all-pairs shortest path, ordering matrix multiplications.

Divide and conquer: Quick/merge sort, integer/matrix multiplication.

Greedy algorithm: Examples, bin packing algorithms.

Time complexity analysis