1)Introduction: Some representative problems 2)Basics of algorithms analysis 3)Graphs 4)Greedy algorithms 5)Divide and conquer 6)Dynamic programming 7)Network flow 8)NP and computational intractability 9)PSPACE: A class of problems beyond NP 10)Extending the limits of tractability 11)Approximation algorithms 12)Local search 13)Randomized algorithms