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.
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.
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.
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
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
map() to create utility functions to make our lives easier.
Needless to say, we covered a lot of ground in the last two posts on functional programming. If you have been following through my series on functional programming, give yourself a pat on the back. Great job!
If you don’t know what functional programming is, read an introduction to functional programming before proceeding. I also recommend reading my post on map (link attached in the first sentence of this post) and going through the exercises.
You need to understand how
forEach() works on an intimate level to get the most out of this tutorial.Continue reading