Doubly Linked List Implementation Guide | Data Structures

The doubly linked list data structure is a linked list made up of nodes with two pointers pointing to the next and previous element.

I will assume that readers are comfortable with the basic singly linked list. If not, I recommend reading about the singly linked list before proceeding.

Let’s get started shall we?

Continue reading

Introduction to the Queue Data Structure – Array Implementation

The queue data structure (we will look at queue array implementation in this post) is one of the fundamental data structures in computer science.

Queue is an example of a FIFO data structure.

In this tutorial, we will be exploring the following concepts regarding the queue data structure.

  • Key features and properties.
  • Implementation details.

Without further ado, let’s dive into the content.Continue reading

Introduction to the Linked List Data Structure and Implementation

The linked list data structure is one of the fundamental data structures in computer science.

Think of the linked list data structure as your ABCs. Without learning the ABCs, it is difficult to conceptualize words, which are made up by stringing alphabetical characters together.

Therefore, you want to know the ins and outs of the linked list data structures.

In this article, we will explore the linked list data structure’s key features and operations. Afterwards, we will begin by implementing our own singly linked list.

Another separate post will be dedicated towards the doubly linked list, which is a variant of the linked list data structure.

I will be proceeding on with the assumption that you know what a data structure is. If not, I recommend first getting acquainted with data structures before proceeding.

Continue reading

Introduction to Data Structures – A Beginner Friendly Guide

A solid introduction to data structures can make an enormous difference for those that are just starting out. The world of data structures and algorithms, for the unwary beginner, is intimidating to say the least.

I have written this post to alleviate some of the anxiety and provide a concrete introduction to provide beginners with a clarity and guide them in the right direction.

In this post, we will first examine the most frequent questions beginners have when inquiring about data structures.

  1. What is a data structure?
  2. Why you need to know data structures?
  3. How do you learn data structures?

If you are a data structures veteran, you probably don’t need to read this post. But if you do decide to read it, I would be very interested in hearing about your thoughts and opinion. If you are willing, please share them with me!

Please note that this post will not cover algorithms.

Even though data structures and algorithms often go hand in hand, I want to keep this post exclusively focused on data structures. I will be writing an entirely separate post on introduction to algorithms, as well as a follow up post on both data structures and algorithms.

When I first started learning data structures and algorithms, I didn’t know where to start.

Not knowing where to start not only results in anxiety.

It also results in bright individuals clutching aimlessly at straws without a clear goal or purpose.

This sets aspiring developers back from reaching their true potential.

Every serious programmer and/or software engineer must have a strong understanding of data structures.

Why?

Because every piece of software processes, handles and displays data. Therefore, data structures are the building blocks of every substantial piece of software.

For this post, I will be writing in the FAQ (frequently asked question) format, addressing common questions beginners might have about learning data structures. If you have additional questions, please leave a comment at the bottom of this page.

I will be updating this post continuously in the hope that it will eventually become a great resource for people that are starting out with data structures.Continue reading

How to Learn a New Programming Language Effectively

Learning a new programming language does not have to be boring or difficult.

Developers can and should learn to study smartly when they attempt to learn a new programming language. The ability to learn a new programming language effectively will scale and become more pronounced as the developer continues to invest their time and effort into sharpening their skills.

The days of monoglot programming are behind us.

If you examine job posts for developer jobs, they usually list at least two languages and also a working knowledge of multiple frameworks.

Therefore, the need to continue learning new frameworks and programming languages will continue to exist into the near foreseeable future.‚Äč

In this post, I wish to address developers that are already proficient at one or more languages.

Unlike the other posts, where I go into extreme depth, I will aim to keep this post short and concise.

If readers want more detailed content, I might add a "read more" tab with details in this post later on. Let me know via comments :).

Continue reading

How to Write Clean Code – Become a Better Programmer

Clean code is an elusive concept due to the varying opinions of developers.

However, I believe that there are few common points that most developers (if not all) can agree on.

I will be discussing both the common points and also my own opinion on what clean code is.

You might be asking:

Why write a post on clean code when so many highly acclaimed people such as Uncle Bob wrote books on this topic?

Well, my answer is simple:

I am highly passionate about writing clean code, because nothing frustrates me more than code that reads like code.

You dig right?

By finding these common grounds, the discerning and pragmatic programmer can write code that not only works like a well-oiled machine, but also reads like a well-written book.Continue reading