Computer Science Data Structures Road Map

Azmi ŞAHİN
3 min readFeb 28, 2023

--

Data structures are a fundamental concept in computer science. Data structures are a structured method for storing, organizing, manipulating and managing data. A good data structure design makes programs faster, more efficient, and more manageable.

The data structures road map is one of the core topics that you need to work hard on as you follow a general road map for computer science. Some key topics are as follows:

Basic data structures: Learn about basic data structures such as array, linked list, stack, queue, trees, and graphs.

Algorithm analysis: Learn the basic concepts needed to analyze the impact of algorithms on data structures and their performance.

Advanced data structures: Learn about more advanced data structures such as red-black trees, caches, heaps, and more complex graphs.

Database design: Learn about relational and non-relational database design, database management, and SQL queries.

Parallel computing: Learn about parallel computing techniques to process data structures faster.

Computer science theory: Learn about mathematical proofs and formulas for useful data structures.

You can use resources such as lectures, books, online resources and practical projects to learn about these topics. Following the data structures road map will help you lay a foundation for computer science.

I know there is a lot to learn, but if you understand the basics and reconcile them with real life, you will see that everything is easy. And for that, let’s just take an example.

To get you started on understanding data structures, let’s try to construct an example from everyday life. And for this example, let’s consider the “stack” data structure.

Stack is a data structure in which elements can be added or removed starting from the topmost element. The order of operations is based on last-in, first-out.

For example, let’s consider a pile of books.
Because the books are stacked on top of each other, you can only access the top book. Also, when you want to add a new book, you can only put it on the top book.

This data structure is very commonly used in software development. For example, when you click a web browser back button, your browser will return to the page you last visited using a stack data structure that holds your history. When you open a new page, your browser adds it to the stack and then lets you navigate the stack. The Stack data structure can also be used in the build process. When reading and compiling code, compilers interpret and compile code considering only the top element of the stack.

Let’s go back to our stack of books example.
A Stack is a data structure that works on the last-in, first-out (LIFO) principle. That is, the last element added is removed first.

For example, we placed the books in a stack in the following order: A, B, C, D. In this case, our stack would look like this:

| D |
| C |
| B |
| A |
|___|

Here, his books are added to the stack, with A at the bottom and D at the top. The top element of the stack is D, and the bottom element is A.

If we start getting a book from the stack, we can get the last added book (D) first. Currently our stack will look like this:

| C |
| B |
| A |
|___|

Then we can get the other ( C ) book.
We can continue like this until there are no more books in the stack.

As an example of a stack data structure, consider an editor program used to perform an undo operation. In the editor, any changes we make are added to the stack. In this way, when we want to undo, we can revert to the original state by undoing the last added changes.

We could use our example for the following purpose. That is, to solve a real-life problem. We want to sort this stack of books alphabetically. And the top book has to start with A.

As a solution, we can put every book we take from our stack into another stack.

| D | | A |
| C | | B |
| B | | C |
| A | | D |
|___| |___|

Keep learning for more.

--

--