Data Structure and Algorithms

Merge Sort Algorithm - Java, C, and Python Implementation — step-by-step Python tutorial on Progressive Robot

Merge Sort Algorithm – Java, C, and Python Implementation

URL: https://www.progressiverobot.com/merge-sort-algorithm-java-c-python/ Merge sort is one of the most efficient sorting algorithms. It works on the principle of Divide and Conquer based on the idea of breaking down a list into several sub-lists until each sublist consists of a single element and merging those sublists in a manner that results into a sorted list. Merge […]

Read more
Min Heap Binary Tree — step-by-step Programming tutorial on Progressive Robot

Min Heap Binary Tree

URL: https://www.progressiverobot.com/min-heap-binary-tree/ A Min Heap Binary Tree is a Binary Tree where the root node has the minimum key in the tree. The above definition holds true for all sub-trees in the tree. This is called the Min Heap property. Almost every node other than the last two layers must have two children. That is, […]

Read more
N-Queens problem using backtracking in Java/C++ — step-by-step Programming tutorial on Progressive Robot

N-Queens problem using backtracking in Java/C++

URL: https://www.progressiverobot.com/n-queens-problem-java-c-plus-plus/ If you love playing chess, you'll enjoy learning about the N-queens problem. It is a good problem to understand backtracking. What is Backtracking? In backtracking, we start with one pos­si­ble move out of many avail­able moves. We then try to solve the prob­lem. If we are able to solve the prob­lem with the […]

Read more
Reverse a Linked List — step-by-step Programming tutorial on Progressive Robot

Reverse a Linked List

URL: https://www.progressiverobot.com/reverse-a-linked-list/ Reversing a Linked List is an interesting problem in data structure and algorithms. In this tutorial, we'll be discussing the various algorithms to reverse a [Linked List](/community/tutorials/java-linkedlist-linkedlist-java) and then implement them using Java. Reverse a Linked List LinkedList is a data structure which stores the data in a linear way. Though not in […]

Read more
What is a Balanced Binary Tree and How to Check it? — step-by-step Programming tutorial on Progressive Robot

What is a Balanced Binary Tree and How to Check it?

In case of binary trees, if the trees are skewed, they become computationally inefficient to perform operations on. This is the motivation behind making sure that trees are not skewed. Hence the need for balanced binary trees. What is a Balanced Binary Tree Balanced Binary trees are computationally efficient to perform operations on. A balanced […]

Read more
Tower of Hanoi - Algorithm and Implementation in Java — step-by-step Programming tutorial on Progressive Robot

Tower of Hanoi – Algorithm and Implementation in Java

URL: https://www.progressiverobot.com/tower-of-hanoi/ The Tower of Hanoi is a classic problem in the world of programming. The problem setup consists of three rods/pegs and n disks. The disks can be moved from one peg to another. The n disks are of different sizes. Initially all the disks are stacked on the first tower. The disks are […]

Read more
CHAT