AlgoTree
Home
Algorithms
Sorting Algorithms
Merge Sort
QuickSort
Binary Search
Binary Search : Finding Count Of Duplicates
Binary Search : Finding Square Root
Smallest Number In A Rotated Sorted Array
Search Number In A Rotated Sorted Array
Binary Search : Allocate books
Binary Search : Ship packages
Range Minimum Queries ( RMQ ) : Sparse Table
Data Structures
[ C++ ] : Storing Graph As An Adjacency List
[ Java ] : Storing Graph As An Adjacency List
[ Python ] : Storing Graph As An Adjacency List
[ C++ ] : Max & Min Heap As Priority Queue
Tree & Graph Traversals
PreOrder, InOrder & PostOrder Traversals
Level Order Tree Traversal
Level Order : Sum Of The Deepest Leaves
Breadth First Search ( BFS )
Depth First Search ( DFS )
DFS : Finding Longest Path In A Tree
DFS : All Paths In A Directed Acyclic Graph
DFS : Detecting Cycle In A Directed Graph
DFS : Detecting Cycle In An Undirected Graph
Topological Sort
[ C++ ] : Lexical Topological Sort
[ Python ] : Lexical Topological Sort
Finding A Binary Subtree In A Tree
Deleting Leaf Nodes In A Binary Tree
Binary Search Tree
Searching A Binary Search Tree
Validating A Binary Search Tree
Inserting Into A Binary Search Tree
Height-Balanced Tree Check Using Recursion
Height-Balanced Tree Check Using Traversal
Backtracking
N Queens problem
Backtracking + DFS : A Game Of Boggle
Letter Phone
Generating Integer Partitions
Lowest Common Ancestor ( LCA )
Finding The LCA Using Recursion
Finding The LCA Using Upward Traversals
Finding The LCA By Moving Level Up And Closer
Minimum Spanning Tree Algorithms
[ Python ] : Prim's Minimum Spanning Tree
[ Java ] : Prim's Minimum Spanning Tree
[ C++ ] : Prim's Minimum Spanning Tree
Kruskal's Minimum Spanning Tree
Single Source Shortest Path Algorithms
[ Python ] : Dijkstra's Shortest Path Algorithm
[ C++ ] : Dijkstra's Shortest Path
[ Java ] : Dijkstra's Shortest Path
Bellman-Ford's Shortest Path Algorithm
Bellman Ford's Algorithm For DAG
All Pairs Shortest Path : Floyd-Warshall
Numeric
Fibonacci Sequence
Euler's Totient Function
Prime Sieve : Generating Prime Numbers
Prime Factors
Euclid's : Finding The Greatest Common Divisor
Factorials Of Large Numbers
Fast Exponentiation
Pythagorean Triples
Binomial Coefficents
Subsets / Combinations : Bitwise
Subsets Using Permutations
Bitwise Operations
Number Of Set Bits In An Integer
Swapping Integers Using Bitwise XOR
Binary To Decimal Conversion
Recursive
Recursive : Finding the N'th Fibonacci number
Recursive : Generating Permutations
Recursive : Generating Subsets / Combinations
Recursive : Finding Size Of A Directory
Dynamic Programming
Longest Common Subsequence
Longest Increasing Subsequence
Matrix Chain Multiplication
Finding Longest Palindromic Substring
0-1 Knapsack Problem
Coins Change Problem
Minimum Coins For Making Change
Integer Partitioning Problem
Maximum Sum Subarray Problem
Maximum Sum SubRectangle
Using Aggregate Rectangles
Applying Kadane's Algorithm On Row Sums
Stack Based
Expression Conversion : Infix To Postfix
Evaluating An Infix Expression
Finding The Largest Rectangle In A Histogram
Linked List
Singly Linked List : Insert & Append
Singly Linked List : Reverse
KMP Pattern Search Algorithm
Finding Anagrams
Trie
Solving Boggle Using Trie & Depth First Search
About
navigation
Copyright (c) 2019-2020, Algotree.org. All rights reserved.