Class Discussions 2/16/10
2.2.2 Classes of Algorithms – Ways to design algorithms include: Brute Force (every single possible answer, takes lots time), divide and conquer (solves every part as it goes), dynamic programming (breaks up and puts into table, prevents solving the same problem twice), greedy (takes best outcome every time, does not consider a range solution), Linear Programming (uses smaller algorithms to solve larger), Probabilistic (make random choices, can be fast with mostly right answer or slower with always right answer), genetic (uses evolutionary process), heuristic (quick way to get almost right answer).
2.4.1 Description of Dijkstra’s Algorithm – used to find shortest path between two vertices in a directed graph with nonnegative edge weights.
Pseudocode – Meant to be read for human comprehension.
2.4.3 Running Time – “Cost” to run the algorithm. [constant x n = time]