What algorithms should every developer know?
I know there is a thread about what every developer should know but this is really a list of topics, such as xml, software licensing, various important distinctions (e.g. value/reference types), and many general topics (xml etc being important as they are used in code to construct xml documents etc).

Anyway, as I am working on some of those topics above, what algorithms should every dev know? I ask because many job interviews involve a short practical test which involves implementing a common algorithm (like a linked list, ok this isn't an algorithm but something every dev should know how to code). I already have a class library with some basic, common algorithms but I want to expand on it to include complex and rare algorithms not really well known in computer science.

It would be very welcomed if you could provide algorithms asked for in tests when you applied for jobs at dev shops or large companies like Microsoft/Google.

I hear a lot about A*, Dikstra and the travelling salesman problem so I will learn about these.

Any suggestions guys?

Thanks
What algorithms should every developer know?
===

I know there is a thread about what every developer should know but this is really a list of topics, such as xml, software licensing, various important distinctions (e.g. value/reference types), and many general topics (xml etc being important as they are used in code to construct xml documents etc).

Anyway, as I am working on some of those topics above, what algorithms should every dev know? I ask because many job interviews involve a short practical test which involves implementing a common algorithm (like a linked list, ok this isn't an algorithm but something every dev should know how to code). I already have a class library with some basic, common algorithms but I want to expand on it to include complex and rare algorithms not really well known in computer science.

It would be very welcomed if you could provide algorithms asked for in tests when you applied for jobs at dev shops or large companies like Microsoft/Google.

I hear a lot about A*, Dikstra and the travelling salesman problem so I will learn about these.

Any suggestions guys?

Thanks