What sorts of algorithms would be used to do this (as in, this is a string, and I want to find the answer):
((5 + (3 + (7 * 2))) - (8 * 9)) / 72
What? Nooooo. Unless this is a homework assignment, do not write a parser. There are a hundred parsers out there and they all have one advantage over all the suggestions here: they're already out there. You don't have to write them.