# Algorithm List

 17 searching Searching is an algorithm that allows user to retrieve the data according to search criteria. 18 sorting Sorting is an algorithm that sorts the elements in the list with ascending or descending order. 19 Recursive algorithms A recursive algorithm is an algorithm which calls itself with the subset of values. 20 Backtracking algorithms Backtracking is an algorithm that considers searching every possible combination in order to solve an optimization problem. 21 Divide and conquer algorithms Divide and conquer algorithm works by recursively breaking down a problem into sub-problems, until these become simple enough to be solved directly. 22 Bit Algorithms Bit manipulation is the act of algorithmically manipulating bits or other pieces of data shorter than a word. 23 Dynamic programming algorithms Dynamic programming is a method for solving a complex problem by breaking it down into a collection of simpler subproblems. If the subproblems have solution save the result for future reference to avoid solving the same problem again.. 24 Greedy algorithms A greedy algorithm is an algorithm that follows the problem-solving heuristic of making the locally optimal choice at each stage with the hope of finding a global optimum. 25 Branch and bound algorithms Branch and bound is an algorithm design paradigm for discrete and combinatorial optimization problems, as well as general real-valued problems 26 Brute force algorithms Brute force algorithm goes through all possible solutions extensively. 27 Randomized algorithms A randomized algorithm is an algorithm that employs a degree of randomness as part of its logic.