dsa

Posted: January 17th, 2026 5:06 AM

data structures are actually a quite simple idea. there is nothing special about the structure of an array other than the fact that the actual application of an array in a programming language varies slightly and introduces this idea of variables and data as 'objects'.

so what's the point of learning dsa at all? does the knowledge assist outside an IDE? should I be binary searching the clothes I want from the store? should i organize my room as a binary tree?

it was never really about the actual implementation of any of these things. the code snippets can be memorized and then all you do is map the algorithm and data structure to the situation based off key words. it was always about intuition and heuristic. you're up against a problem that seems unsolvable. you break down the problem into digestible pieces, think of related problems, ensure you understand the problem as it is written, collect the data, analyze the data, verify the condition required to solve the problem, and then reason through the unknown. this process has universal application in every aspect of life.

the underlying principle that seems to stick out is that almost every problem has a known solution. perhaps unknown to us in the moment of investigation. even new problems don't necessarily require new solutions. they simply build off or mutate an existing solution slightly. the mutation is obvious when you have the context of the problem. so, what? should we all have been sherlock holmes?

solving a problem using reasoning, investigation, experimentation, and testing is euphoric. it is a self gratifying process where you will learn more from the investigating part of the 'solving' than from the solution. That is, until you run into a new problem that requires the whole or part of the solution you have found. that euphoria disappears when we offload our thinking to a machine. poof. the reward and stimulus for reinforcing neurochemically the pleasure of carrying out and completing an investigation is diminished if not voided. the way to use an llm as a tool is not to ask it to solve the problem on its own. ask it to isolate some piece of the problem or investigation and to generate new leads or information toward the solution rather than generating a solution altogether.

so learn the kalman filter. learn the monotonic stack. memorize djikstra's. study DFS and BFS. know them so well you can write them on a napkin at an ihop during an ungodly hour when greatness is delivered to your brain while thinking about some problem. it's true that at some point you won't need to remember the exact syntax of the code. sure. AI is pretty good at that. you will always need to know how to take a context of known solutions and create a new solution out of them. you may not need the entirety of the bloom filter and all the nuance. but you will need the approximation of sets and how the optimal number of hash functions and overall structure completely remove the possibility of a false negative. you will always need to know the trade offs.

if you are studying dsa, you are studying specifically for problems and solutions. inject that same framework of logic into the other areas of your life. you can make a living off solving problems rather than creating things. its a higher probability we hit a plateau of needing new things. however, human nature prevents us from ever running out of problems.

lesson

mathematics is easily the most important concept to learn and understand as a foundation of the human existence.

spend lots of time learning mathematics, arithmetic, algebra, calculus, discrete mathematics and then seek opportunities to apply it in the world.