Give yours views on

Are Data Structures and Algorithms obsolete today in the age of Machine Learning?

Data structures and algorithms remain the bedrock for tackling any problem where input data is manipulated by some set of instructions to get some desired output. Thus the knowledge of different data structures, and analysing the time and space complexity to choose the best solution out of ‘n’ solutions for a given problem becomes inevitable for obtaining an optimal solution (based on space occupied in memory and running time of algorithm).

**Typical problem (1 step):**

**Input data --> Algorithm --> Output**

I think it is the same with machine learning problems. As we deal with large datasets it is crucial to handle them optimally. Although it seems abstract, under the hood every tool that is available built-in supports optimization. This helps the ML practitioner to focus more on training the model efficiently (empirical work on tunning the model as per output desired for building models or carry out research work). As an example, I would say “Python dictionaries” is a special data structure available in python that deals with key-value pairs. This is essentially a hash table (data structure) beneath the abstract (and we know a hash table is in itself an implementation of a resizable array of linked lists where there are different hashing functions that do operations at constant time O(1), basically a lookup operation).

**Machine learning problem (2 steps):**

**1. Input data + Output --> Algorithm --> Trained model
2. Input data --> Trained model --> Output**

And not only that there is the subfield of artificial intelligence dedicated to studying the design and analysis of machine learning algorithms. A quick glance on the below links may be helpful.

http://www.learningtheory.org/

A blog post about computational learning theory:

Therefore, my opinion is that the knowledge of data structure and algorithm will definitely help in solving any given problem (improves problem-solving skillset) for finding the optimal solution on a large scale. Whereas as an ML or DL practitioner it is also important to know the right tools to use along with the knowledge of data structure and algorithm for solving data science-related problems.