Data Structures and Algorithms
-
Finding orders using Topological Sort
Topological sort is a fundamental algorithm to order elements in a directed graph; in this context, elements are often denoted as nodes, and the edges between them represent dependencies. In […]
-
Dijkstra’s algorithm to find the shortest path
Let’s imagine you and your best friend live quite far apart, you haven’t seen him for a while, your best friend is organizing a party at his house and you’re […]
-
AOC 2022 – Day 5: Supply Stacks
You can read the full description for day 5 here. In summary for part 1, we have been provided a number of stacks, each stack may contain a number of […]
-
Introduction to Trie Data Structure
Trie is a data structure that is not so popular but is particularly useful when you have to work a lot with strings. It also has different names like a […]
-
Quicksort algorithm – Lomuto partition scheme
There are a multifarious number of sorting algorithms have been proposed and being used nowadays. Perhaps you’re already familiar with some sorting algorithms such as Bubble Sort, Selection Sort, or […]
-
905. Sort Array By Parity – In-place Solution | LeetCode Problem
Given an array A of non-negative integers, return an array consisting of all the even elements of A, followed by all the odd elements of A. You may return any answer array that satisfies […]
-
Understand Tree Traversal: Pre-order, In-order, and Post-order Traversal
Many of you probably have familiar with arrays or linked-lists, we know that in those data structures, elements can be traversed linearly. But what about the binary tree? As we […]
-
Binary Search Tree (BST) Concrete Implementation In Java
Binary Search Tree is a fundamental data structure that stores items in the memory. In this article, we will learn what is a binary search tree (BST for short) and […]
-
Reverse Linked List (LeetCode) – Iterative and recursive implementation
Happy New Year, everyone! On the very first day of 2020, let’s jump to a problem that has been asked all the time during the interview – Reverse A Linked […]
-
Top 150 best practice LeetCode’s problems sorted by difficulties
If you want to sharpen your problem-solving and coding skills, indeed Leetcode is one of the best places that help you do that. This platform empowers programmers to improve their […]