Data Structure and Algorithms

Data Structure and Algorithms are the building blocks of computer programming. A well-defined data structure helps us in keeping our data organized. Some of the commonly used data structures are List, Queue, Stack, Tree etc.

The algorithms provide different ways to achieve a task on these data structures. Some of the common algorithms are in the area of sorting and searching elements in the data structure.

Subset Sum problem in java using Dp

Solving the Subset Sum Problem using Dynamic Programming in Java

Subset sum problem is a common interview question asked during technical interviews for the position of a software developer. It is also a very good question to understand the concept of dynamic programming. Subset Sum….

Insertion Sort Featured Image

Insertion Sort Algorithm and its Implementation in C++/Java

In this article, we will be learning the concept and implementation of Insertion Sort. As the name suggests, insertion sort works on the basic principle of inserting fresh values to an already sorted set of….

Decision Trees

Decision Tree Algorithm – Basic Implementation in Python

Hey folks! In this article, we will be having a look at one of the most interesting concepts in the domain of Machine Learning and Artificial Intelligence — Decision Tree. Machine Learning is a vast….

Vigenere Cipher Featured Image

Vigenere Cipher and its implementation in C++

The Vigenere Cipher follows its name from a French cryptographer Blaise de Vigenere. This cipher is a substitution cipher that supports encryption and decryption of only alphabetic text. There is a Vigenere’s Table which is….

Radix Sort Featured Image

Radix Sort Algorithm – Basics to Implementation in C/C++

Radix Sort Algorithm is a unique sorting algorithm that works on the basic principle of numbers being an ensemble of digits. Radix Sort works only on integer values since integers have only a single mathematical….

Counting Sort Featured Image

Counting Sort Algorithm – Idea to Implementation in C/C++

What is the counting sort algorithm? In Computer Science, sorting algorithms form the basis of many complex concepts and techniques. The task of arranging numbers or things in a specific order has really put mankind….

Dynamic Programming

What is Dynamic Programming?

Introduction Today in this tutorial, we are going to discuss the concept of Dynamic Programming. It is a much more optimal approach to programming. Dynamic Programming Theoretically, Dynamic Programming is a problem-solving technique that solves….

Quicksort Algorithm

The QuickSort Algorithm – Implementation in C, Java, Python

Introduction Quicksort algorithm is one of the fastest internal sorting algorithms and today we are going to discuss this topic. It is mainly based on the following three main strategies: Split or Partition: Select a….

Binary Search Tree

Binary Search Tree in C/C++

In this article, we’ll take a look at implementing a Binary Search Tree in C/C++. A Binary Search Tree(BST) is a Binary Tree in which every element of a left sub-tree is less than the….


Understanding the Stack Data Structure

In this article, we’ll be understanding the working and the need for the Stack Data Structure. When programming, we often deal with a huge amount of uneven and raw data. This calls for the need….

Generic selectors
Exact matches only
Search in title
Search in content