Algorithms

This category contains all the posts related to Algorithms. For e.g.: Sorting, Hashing, Searching, Tree Traversals, Graph Theory etc.

Hierarchical Datastructure – Binary Tree Implementation

Introduction This is the third article in the series of non-linear data structures, to read more about the previous article, please check the topic HIERARCHICAL DATA STRUCTURE – TREE ADT. People might feel that the pace with which we are progressing is too slow, but I woul dlike to assure you that these are the articles which are the roots of the non-linear data structures, if we do not spend enough time on these, we might face bigger challenegs later. To get updates on the other articles in the series, please use the Subscribe feature on the right panel. Purpose of article This article wil...
Read More

Hierarchical Data Structure – Tree ADT

Introduction This is the second article in the series of non-linear data structures, to read more about the previous article, please check the topic HIERARCHICAL DATASTRUCTURE – DETAILED DISCUSSION. To get updates on the other articles in the series, please use the Subscribe feature on the right panel. Purpose of article This article will mostly focus on the coding aspect of what we learnt in the first article, it will also make us eligible to go hand in hand with the codes and we can simultaneously test what all we are learning. We will define all the structures which will end up creating ...
Read More

Hierarchical Datastructure – detailed discussion

Introduction I was planning to write an article on recursion before writing this article, but I got few requests to write about Tree Data Structure. So here I go, please treat this post as the starting of a series of articles based on Tree Data Structure in general, this might extend to a list of ten full length articles where we will learn in detail about Tree Data Structure, Types of Trees, How to store Trees in Memory, Variations of Trees, Tree Traversals, N-ary Trees and few real life examples of trees. Purpose of the Article This is just an introduction on Tree data structure, we will ...
Read More

Hashing in detail – Part Three

Introduction This is the third post in Hashing - Online Classes. Please check the previous articles Hashing in detail – Part One and Hashing in detail – Part Two. In the first two articles we established a better understanding of the data structure which can be used to store objects using hashing, we also learnt about handling collisions and chaining. In "Hashing in detail - Part Three" post we will extend the discussion and wrap up basic concepts of hashing. Purpose of the article In the article Hashing in detail - Part 3 we will learn another collision resolution method called Open...
Read More

Hashing in detail – Part Two

Introduction This is the second post in Hashing - Online Classes. This is in continuation of the article Hashing in detail – Part One, in which we understood the meaning of the word hash, hash code and hashing. We established a better understanding of the data structure which can be used to store objects using hashing. Also, we found that storing, searching and fetching objects from a hash table is almost a constant time operation and hence, it is an effective mechanism. Purpose of the article The article Hashing in detail – Part Two is to focus on the challenges we face while emplo...
Read More

Hashing in detail – Part One

Introduction This is the first post in Hashing - Online Classes. I always wanted to write this article after writing couple of articles on sorting algorithms. It doesn't make any difference, but of course it helps to establish a flow to the reader. There is a lot to understand and learn about hashing and I do not consider it good to throw Hashing on someone as the first article. Please read any of my articles in the Sorting Series before reading further, so that a mindset is properly developed. Purpose of the Article The article Hashing in detail - Part One might not end up in just one ...
Read More

Comb Sort – An extension over the Bubble Sort

Introduction This article is in continuation of the article Improving Bubble Sort – A detailed explanation which I wrote to explain the basic idea behind bubble sort. Purpose of the article This is an improvement over Bubble Sort, an improvement which is pretty much similar to Shell Sort over Insertion Sort. To know more about the relationship between Shell Sort and Insertion Sort, please read the articles in my previous posts. What are we trying to improve? Before we try to improve, we must know what to improve. The thing which is clear is that Bubble sort takes more time (or may I say m...
Read More