I have found a very good explanation in Introduction to Algorithms.... but you need some mathematics knowledge to understand it.
The lecture (video) for the Introduction to Algorithms course from MIT regarding the Asymptotic Notation is here.
I have found a very good explanation in Introduction to Algorithms.... but you need some mathematics knowledge to understand it.
The lecture (video) for the Introduction to Algorithms course from MIT regarding the Asymptotic Notation is here.
Introduction to Algorithms by Cormen, Leiserson and Rivest is the best general intro to algorithms I know about.
The Design and Analysis of Computer Algorithms by Aho, Hopcroft and Ullman is also good. But harder to digest as an introductory text than Introduction to Algorithms...
And I love Programming Pearls by Jon Bentley. Everyone should read it.
I would also recommend following these video lectures from MIT, available at: http://academicearth.org/courses/introduction-to-algorithms .
Good Luck!
My first advice to you would be that don't move forward to new topics until you get the Complexity part. As for the text to consult, Introduction to Algorithm by Cormen is a good option. See basically there are three ways to express complexity Big-oh, omega and theta notation. The calculation of complexity for iterative algorithms is pretty simple. Go through any book and practice some examples. For recursive algorithm read Masters theorem. Using this theorem you can easily calculate complexity for most of the recursive questions. Search for masters theorem on net and you will find several good tutorials.You can start from here http://en.wikipedia.org/wiki/Master%5Ftheorem.