Data Structures are the programmatic way of storing data so that data can be used efficiently. Algorithm is a step-by-step procedure, which defines a set of instructions to be executed in a certain order to solve the problem. Algorithms are generally created independent of underlying languages, i.e. an algorithm can be implemented in more than one programming language.
Almost every enterprise application uses various types of data structures in one or the other way. Data Structures needed to understand the complexity of enterprise level applications and need of algorithms, and data.