# Algorithm

## Depth First Search (DFS)

Here, We will discuss about Depth First Search (DFS), their algorithms and also explain advantages, disadvantages, time complexity and their applications. Graph Traversals Graph traversal means visiting every vertex and edge exactly once in a well-defined order. During a traversal, it is important that you track which vertices have been visited. The most common way …

Here, We will discuss about Breadth First Search (BFS), their algorithms and also explain advantages, disadvantages, time complexity and their applications. Graph Traversals Graph traversal means visiting every vertex and edge exactly once in a well-defined order. During a traversal, it is important that you track which vertices have been visited. The most common way …

## Graph Algorithms

Here, We will discuss about Graph Algorithms, types of nodes and graphs and also explain Graph Representation like Adjacency Matrix, Adjacency List and Graph Traversals like DFS and BFS. What is Graph? A Graph is a flow structure that represents the relationship between various objects. In other words, A graph is a pair (V,E) where …

## Dynamic Programming

Here, We will discuss about Dynamic Programming, their strategy, properties and approaches like memoization and tabulation and their applications. What is Dynamic Programming? Dynamic Programming is a powerful technique to solve a complicated problem by breaking it down into simpler subproblems. The idea of dynamic programming is to avoid making redundant method calls. In Divide …

## Greedy Algorithms

Here, We will discuss about Greedy algorithm, their element and Characteristics, advantages and disadvantages, and their applications. What is Greedy Algorithm? A Greedy Algorithm is a simple, intuitive algorithm that is used in optimization problem. It is designed to achieve optimum solution for a given problem. This algorithm builds up a solution by choosing the …

## Divide and Conquer Algorithms

Here, We will discuss about divide and conquer algorithms, their strategy, pros and cons of divide and conquer, applications of divide and conquer algorithm. What is Divide and Conquer Algorithm ? Some problems failed to provide optimal solutions. Among those problems, some are easily solved by using the Divide and Conquer technique. Divide and Conquer …

## Binary Search

Here, We discuss about Binary Search, their implementation in C, time and space complexity and its applications. What is Binary Search? Binary Search is the most popular searching algorithm. It is efficient and most commonly used to solve problems. The algorithm based on the idea that finding an element’s position in a sorted array. Binary …

## Linear Search

Here, We discuss about Linear Search, their implementation in C, time and space complexity and its applications. What is Linear Search? Linear Search is the simplest searching algorithm. It searches for an element in the list in sequential order. Linear search is used on a collection of items. We start at one end and check …

## Heap Sort

Here, We will discuss about Heap Sort in C, their algorithm, implementation code in C, time and space complexity, and their applications. What is Heap Sort? Heap Sort is a comparison-based sorting algorithm. This sorting algorithm has more favorable worst-case O(n log n) runtime. Heap Sort is an in-place algorithm but is not a stable …

## Bucket Sort

Here, We will discuss about Bucket Sort in C, their algorithm, implementation code in C, time and space complexity, and their applications. What is Bucket Sort? Bucket Sort is a comparison sort algorithm. Like Counting sort, Bucket Sort also imposes restrictions on the input to improve the performance. The algorithm based on the idea that …