15

My question is a general one: How do I start thinking in terms of Algorithm Design and Complexity? I am going to take a Graduate Course in Algorithm Design. I had enrolled in it earlier but dropped it later because I could not keep up with it. I have to take this course as a requirement.

Is there a 'trick' to think in this way? I know this is putting it quite crudely but sometimes a fresh perspective helps to think about a subject differently.

The main problem I have with this course (and similar theoretical courses) is: How do I know that solutions that I come up with are correct? I find the theoretical part to be arbitrary especially when 'proving' a certain algorithm acts or behaves in a certain way?

Our course will be using the standard text: Introduction to Algorithms by CLRS.

Are there any textbooks/sites/books/etc. that might offer a way in becoming confident in this field?

Thanks to everyone,

Jason Dane

Dai Le
  • 3,664
  • 1
  • 24
  • 37
Jason Dane
  • 151
  • 3
  • 2
    I suggest taking a look at this post. I specially suggest Udi Manber's book. – Sadeq Dousti Dec 31 '10 at 17:21
  • 1
    This discussion on StackOverflow offers several suggestions: http://stackoverflow.com/questions/2256721/good-book-for-thinking-in-terms-of-algorithms – Jeffε Jan 01 '11 at 06:38
  • 2
    I second the Manber recommendation. Also check out How to Think about Algorithms by Jeff Edmonds: http://www.amazon.com/Think-About-Algorithms-Jeff-Edmonds/dp/0521614104 – Jeffε Jan 01 '11 at 06:41
  • "How do I know that solutions that I come up with are correct?" Do you mean that (1) you came up with an algorithm but don't know how to prove that it is correct, or (2) you have have a proof but you are not sure if it is correct? – Jukka Suomela Jan 01 '11 at 20:13
  • Step one: stop giving straight answers and refer to other's solutions instead. ;) – Raphael Jan 04 '11 at 22:33
  • Learn how to program.
  • Participate in programming competitions.
  • – Pratik Deoghare Nov 19 '12 at 20:09