One of my favorite is the Minimax algorithm. It's one of the easiest ways to make a Game AI, it calculates every move in order to find the one that will lead to the highest score (or just to victory). Works good for small games like TicTacToe.
I think it's the basis for every problem that can be solved with a program, regardless of the programming language. To me, the hardest part is thinking of an algorithm that can apply to a specific problem –whether it's implemented in Java, C, Python or whatever, it's of lesser importance. But that's only my opinion.