Back to Data Structures and Algorithms
Data Structures and Algorithms

Data Structures and Algorithms

0 of 20 Completed

Introduction

During the second year of my degree, there were three notorious courses in our department. Our professors would often give us warnings on the sheer difficulty of the upcoming course material.

The first was Automata Theory and Formal Languages, but the second two were all about algorithms: Data Structures and Algorithms, and Design and Analysis of Algorithms.

Intuitively, the topic of algorithms is not an easy one to tackle. And now, the professors were driving that point home.

As I began the courses, I was struggling. Learning so many of these arbitrary structures seemed so confusing, especially when they struck me as incredibly abstract and unnatural to solve. However, what my professor said stuck with me:

When in doubt, simplify

When writing algorithms and data structures, many of us get too caught up with the complexity and magnitude of what has to be done and how to get there. However, what I found to be the best approach is to take is to take it back to the base case. Generate a simple, generic algorithm. Analyze what it could get wrong, and take precautions.

With this approach, algorithm generation isn’t hard, it’s fun! You can build upon what is working, into a complex system that can do amazing things.

In interviews focusing on algorithms, it’s easy to get overwhelmed. There’s a timer, an unsolved problem, and an interviewer. It’s not easy to appease all three. However, when in doubt, simplify.

It’s not all about the number of algorithms you have memorized. Knowing how to think clearly and convey those concepts efficiently is key. Moreover, starting with simpler logic can make it easier for both you and the interviewer to follow through the cognitive process.

In this course, we will learn all about simplification. Let’s take a step back from all the theory and understand how data structures move and operate (how does a list prepend, for example). This course contains colorful visualizations and extensive explanations, all while allowing you to use your thinking cap and implement logic into code.

0%

Completed

You have 20 sections remaining on this learning path.