Take a look at the recently released "Grokking Algorithms" [1] by Bhargava. Uses Python for code examples. I haven't read it personally, but has good reviews on Amazon [2].
[1] http://adit.io/posts/2016-05-25-Grokking-Algorithms-Is-Out.html
[2] https://www.amazon.com/dp/1617292230/ref=cm_sw_su_dp