is learning data structures and algorithms worth it