Understanding Data Structures and Algorithms
Data structures are simply a particular way of storing and organizing data in a computer. There are several types of data structures for example linked lists. Arrays, heaps, hash tables, queues, and so many others.
Let’s examine a few of them.
1. Queues
We all line up at the bank and the person at the top of the list gets served right…so is a queue in data structures it focusses on the first come first serve basis meaning you cannot jump the line. So if a task is urgent and needs to jump the list this isn’t the data structure to use as its slow

2. Stacks
A stack is a data structure that arranges data in the form of a stack one above the other
An example is a stack of books that are placed one above the other. The book on the top of the stack gets to be the one easier to get picked…so the task at the top of the task gets worked on first.
It uses the last in first in rule. However, a task of high importance can be removed from the stack and placed at the top it is kind of like re-arranging the books on the stack in the order of importance or priority.
As a book lover, I have a couple of books that I love to read over and over again, so I place them on top of my stack.

3. Linked List
A linked list is a linear collection of data elements, called nodes, each pointing to the next node by means of a pointer or simply put It is a data structure consisting of a group of nodes.
I would think of this as a treasure hunt, with each of the treasure prize zones containing a treat along with a clue about where the next prize can be found — akin to a chain of nodes each containing some data and also the address of the next node. If a prize is to be removed from the middle, the previous prize point should point to the one that comes after the removed prize.
Algorithms, on the other hand, are step by step process of solving a problem…for instance when you want to go to town from Namuwongo. You come up with a plan. Say you will take a taxi from the stage to the park or you will use a boda.
You may have a list of figures that are not in any particular order, you may sort the list either from ascending or descending order and this means you apply the sorting technique to accomplish your goal.
There are different techniques one can use to solve a problem: breadth-first Algorithm, Sorting Algorithm to mention but a few.
