# 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 …

## Quick Sort

Here, We will discuss about Quick sort in C, their algorithm, implementation in C, time & space complexity and their applications. What is Quick Sort? Quick Sort is one of the famous comparison-based sorting algorithms based on divide and conquers algorithmic technique. It uses recursive calls for sorting the element. The algorithm starts by picking …

## Merge Sort

Here, We will discuss about Merge Sort in C, their algorithm, implementation code in C, time and space complexity, and their applications. What is Merge Sort? Merge Sort is a divide and conquer algorithms based on the idea of breaking down a list into several sub-lists. The algorithm starts breaking down a list into sub-lists …

## Bubble Sort

Here, We will learn about bubble sort in C, their algorithm, implementation in C, time & space complexity and their applications. What is Bubble Sort? Bubble Sort is the simplest sorting algorithm. It compares all the elements one by one and sorts them based on their values. The algorithm is based on idea of repeatedly …

## Selection Sort

Here, We will discuss about selection sort in C, their algorithm, implementation code in C, time and space complexity and their advantages. What is Selection Sort? Selection Sort is an in-place sorting algorithm. It works well on small files. It is used for storing the files with very large values and small keys. The algorithm …

## Insertion Sort

Here, We will learn about insertion sort in C, their algorithm, implementation code in C, time and space complexity and advantages.. What is Insertion sort? Insertion Sort is a simple and efficient comparison sort. It works similarly as we sort cards in our hand in a card game. The algorithm based on the idea that …

## Counting Sort

Here, We will discuss about Counting Sort in C, their algorithm, implementation code in C, time and space complexity, and their applications. What is Counting Sort? Counting Sort is a sorting algorithm but not a comparison sort algorithm. The algorithm based on idea that sorting the elements of an array by frequencies of distinct/unique elements …