I've been enjoying learning Haskell for the last 6 months and one of the things that I really enjoy is learning new algorithms that use functional approaches (and use immutable data structures).
Coming from a Java background, where most data structures are mutable (lists, maps/sets, trees, etc) finding how the same problems are used with immutability is quite mind expanding (height balanced trees, rose trees, finger trees, etc) and how some other algorithms are impractical and expensive (e.g. bubble sort).
I've been enjoying learning Haskell for the last 6 months and one of the things that I really enjoy is learning new algorithms that use functional approaches (and use immutable data structures).
Coming from a Java background, where most data structures are mutable (lists, maps/sets, trees, etc) finding how the same problems are used with immutability is quite mind expanding (height balanced trees, rose trees, finger trees, etc) and how some other algorithms are impractical and expensive (e.g. bubble sort).