
Richa Kiran
@algonoob
Just here to share whatever I've learned in Data Structures and Algorithms


Typedef in C
Written by Richa Kiran
In C, we have an option to set any other name for a specific data type. For doing that we use a keyword called "typedef". In this article, I'll be explaining how typedef works and how you ca...


Structures in C
Written by Richa Kiran
While coding in C, you will come across many data types like - char, int, float, double, void, and so on... These data types are called **basic data types**. There's another group of data ty...


Lists in Python
Written by Richa Kiran
List is a data structure used in Python. It is similar to the concept of arrays but unlike arrays they're more flexible about the type of data that is being stored in them. It is very easy t...


Heap Data Structure using Arrays
Written by Richa Kiran
A heap is a Complete Binary Tree in which elements are arranged in a specific order depending the type of Heap that we're trying to implement. It can be either the first element(root node) b...


Max Heap
Written by Richa Kiran
A Max Heap is a Complete Binary Tree containing the largest value in the root node followed by smaller and smaller values in each succeeding layer. The last layer contains the smallest set o...


Min Heap Algorithm
Written by Richa Kiran
A heap is a Complete Binary Tree having its nodes or elements in an ordered way. Based on this order, we define two types of Heap data structures - Min Heaps and Max Heaps. In this tutorial,...


Complete Binary Trees
Written by Richa Kiran
In this post, I'm gonna share some basic knowledge about a concept of data structures called "Complete Binary Trees". We're just gonna build upon the concept of Binary trees here. So if you...


Heap Data Structure
Written by Richa Kiran
A Heap is a specific kind of Binary Tree called **Complete Binary Tree**, arranged in a specific order. In this article, I'm gonna tell you what exactly we mean by a "Heap", different kinds...


QuickSort Alogrithm
Written by Richa Kiran
In this article we're gonna see a basic layout of the Quicksort Algorithm and how we can implement it in C language. ## What is Quicksort Algorithm? It is a simple sorting algorithm that w...


Why do we need Data Structures?
Written by Richa Kiran
Imagine that you've been eyeing a book for sometime and you wanna buy it. You try to look it up on Amazon.com but without a search option. No wonder how tedious it would be to find it withou...


Divide and Conquer
Written by Richa Kiran
Divide and conquer is just a simple yet complex strategy of solving problems. It basically includes the idea of dividing a problem into sub-problems or smaller problems. We solve each sub-pr...


Insertion Sort
Written by Richa Kiran
Insertion sort is a technique of sorting wherein you build a sorted array from an unsorted one by picking wrongly placed elements from the unsorted part of the array and placing them at the...


Selection Sort
Written by Richa Kiran
In this article I'm gonna talk about selection sort algorithm and how to implement it in C language. ## What is Selection Sort? The main idea behind this sorting algorithm is to scan the un...


Sorting Algorithms
Written by Richa Kiran
Sorting means to arrange a group of things in a specific order. Algorithms that help us sort a group of items are called Sorting Algorithms. In this article I'm gonna give a brief introducti...


Linear Search VS Binary Search
Written by Richa Kiran
Linear Search and Binary Search are two popular searching algorithms. In this article, we'll be comparing the two algorithms in order to find out which algorithm is better based on their app...


Asymptotic Notations
Written by Richa Kiran
Previously, we briefly discussed about time complexity of algorithms. You can check it out [here](https://devdojo.com/algonoob/time-complexity-of-algorithms) if you haven't yet. In this po...


Time Complexity of Algorithms
Written by Richa Kiran
The time complexity of an algorithm is the time taken by an algorithm to run. ## The significance Sometimes, when we try to solve a problem, we might think of more than one way to solve it....


Binary Search
Written by Richa Kiran
Binary Searching algorithm is used to search for an element in a sorted array. It involves dividing an array into halves until the element is finally found. I've already given a brief intro...


Search Algorithms
Written by Richa Kiran
Searching algorithms are designed to locate the position of an element (if present) in a data structure. To search for an element in a linear data structure like an array, we can use many d...


Applications of Binary Trees
Written by Richa Kiran
So far we've discussed about how we can perform certain operations on a Binary Search Tree. It is no fun to learn about new stuff when you don't know where exactly you can use it. So, In thi...