- About the course:
- Complexity theory:
- Big Oh, Big Omega, Big Theta notations
- Breadth-first search
- Web crawling (Google search)
- Depth-first search
- Shortest path algorithms (GPS, Routing, Forex market)
- Dijkstras algorithm
- Bellman-Ford algorithm
- Minimum spanning trees
- Strongly connected components (Reco systems (next video with high probability, facebook friends, ...)
- Maximum flow problem (matching)
- Travelling salesman problem + heuristics (complex - approx polynomial time)
- Simulated annealing
- Genetic algorithms
- Complexity theory:
- Graphs
- G(V,E) are mathematical structures to model pairwise relations between given objects
- A graph is made up of vertices/nodes and edges
- There are two types of graphs: directed and un-directed graphs
- How to model graphs in programming languages?
- Two options
- Adjacency matrices
- Matrix A constructed out of vertices of graph
- the A(i,j) value in matrix is 1 if
- there is a connection between node i and node j
- Otherwise
- A(i,j) is 0
- the A(i,j) value in matrix is 1 if
- Matrix A constructed out of vertices of graph
- Edge list representation
- Adjacency matrices
- Two options