Electrical & Computer Engineering Faculty
Semnan University

Foundations of Algorithms

Topics

Algorithms, Efficiency, Analysis, and Order

Analysis of Algorithms, Order, Solving Recurrence Equations (Induction, Substitution, Characteristic Equations, The Master Theorem), Amortized Analysis  Fibonucci(JavaScript Code)

Advanced Data Structures

Bionomial Heap, Fibonacci Heap, Disjoint Sets

Divide and Conquer

Binary Search, Merge Sort, Quick Sort, Strassens Matrix Multiplication Algorithm, Multiplication of Large Integers pdf

Dynamic Programming

Fibonacci Sequence, Binomial Coefficients, Floyds Algorithm, Optimization Problems, Chained Matrix Multiplication, Optimal Binary Search Trees, Traveling sales Person Problem pdf

The Greedy Approach

Minimum Spanning Trees, Dijkstras Algorithm, Scheduling, Huffman Code, Greedy vs. Dynamic: The Knapsack Problem pdf

Network Flow

Max-flow and Min-cut Problems, Ford-Fulkerson Algorithm

Backtracking

The n-Queens Problem, The Sum-of-Subsets Problem, Graph Coloring, The Hamiltonian Circuits Problem, The 0-1 Knapsack Problem pdf

Branch and Bound

The 0-1 Knapsack Problem pdf

Computational Complexity and Interactability

pdf

Max-Flow

pdf


Homework Assignments

HW1

HW2

HW3


Midterms


Topics for Further Study


Textbooks

  Foundations of Algorithms Using C++ Pseudocode
Richard Neapolitan, Kumarss Naimipour
Third Edition, 2004 
Jones and Bartlett Publishers
  Introduction to Algorithms 
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein 
Second Edition, 2001 
McGraw-Hill