Categories
Computer Science

Clean Code

As developers, we should all strive to write code that’s clean and maintainable. Here are a couple of tips that have helped me progress as a developer. Descriptive Names It’s all fun and games to have your variable name be x, but come back to your same code 2 months later, and you’ll spend an […]

Categories
Computer Science Data Structures

Heaps and Heap Sort

Imagine a queue that doesn’t operate based on who got there first. It rather operates based on the importance of a person in the queue.  For instance, think of a hypothetical passport control. A government official would take the highest priority, followed by a citizen, and then finally a foreigner. In essence, this isn’t a […]

Categories
Computer Science Data Structures

Tries

When you type something on your phone, do you ever wonder how it starts showing autocomplete suggestions? For instance, if you type in ‘ap’ in your phone’s search bar, it might suggest apple, apricot, or any other word that starts with ‘ap’. How do you think this is implemented? Well, if you were to use […]

Categories
Computer Science

Binary Tree Asking Game

How many of you reading remember the game Akinator? It was a game about a genie that guessed what you were thinking of through a series of yes or no questions.  For instance, if you were thinking about a dog, the genie could have figured it out through asking the following questions: “Is it a […]

Categories
Computer Science Data Structures

Linked Lists

Linked lists are the very foundation of a lot of data structures in software development. So, before we  start our discussion of linked lists, let’s try to come back and better understand what an array actually is. An array is a data structure that holds a fixed size of elements in contiguous memory locations. Since […]

Categories
Computer Science Data Structures

Queues

We’ve talked about stacks, so now let’s talk about queues. As a brief recap, a queue is just an order where the first item in an order is the first one to be taken care of.  And as you can probably imagine, they’re the opposite of stacks. Queue Implementation using Lists Let’s jump into a […]

Categories
Computer Science Data Structures

Stacks

Well, let’s get right into it with the topic of stacks in more detail. As a recap, a stack is basically just a collection of items where the last item in the collection is the first one to be removed. Kind of like a book stack where the last book on top is the first […]

Categories
Computer Science

Hello World

Sounds cliché, but as almost every developer learns a new programming language by printing out “Hello World” as output, I will also start this blog with the first post being a “Hello World” post. I am pretty excited about starting this blog as I have a lot of things to write about. I think I’ll […]