What exactly is sorting?- It is the algorithm that arranges the order of the items in a list.

**Important Sorting Algorithms-**

Bubble Sort is the most basic sorting algorithm, and it works by repeatedly swapping adjacent elements if they are out of order.**Bubble Sort**:Merge sort is a sorting technique that uses the**Merge Sort**:**divide and conquer**strategy.Quicksort is a popular sorting algorithm that performs n log n comparisons on average when sorting an array of n elements. It is a more efficient and faster sorting algorithm.**Quicksort**:Heap sort works by visualizing the array elements as a special type of complete binary tree known as a heap.**Heap Sort**:

What exactly is searching?- It is the algorithm that finds an element in a data set.

**Important Searching Algorithms-**

Binary search employs the**Binary Search**:**divide and conquer**strategy, in which the list is divided into two halves and the item is compared to the list’s middle element. If a match is found, the middle element’s location is returned.Breadth-first search is a graph traversal algorithm that begins at the root node and explores all neighboring nodes.**Breadth-First Search(BFS)**:The depth-first search (DFS) algorithm begins with the first node of the graph and proceeds to go deeper and deeper until we find the goal node or node with no children.**Depth-First Search(DFS)**:

Dynamic Programming (DP) is an algorithmic technique for solving an optimization problem by breaking it down into simpler sub-problems and taking advantage of the fact that the optimal solution to the overall problem is dependent on the optimal solution to its sub-problems.

Recursion is a problem-solving technique in which the solution is dependent on solutions to smaller instances of the same problem. Computing factorials is a classic example of recursive programming.

**Every recursive program follows the same basic sequence of steps:**

*Set up the algorithm. Recursive programs frequently require a seed value, to begin with. This is accomplished by either using a parameter passed to the function or by providing a non-recursive gateway function that sets up the seed values for the recursive calculation.**Check to see if the current value(s) being processed correspond to the base case. If so, process the value and return it.**Rephrase the solution in terms of a smaller or simpler sub-problem or sub-problems.**Apply the algorithm to the sub-problem.**In order to formulate an answer, combine the results.**Return the results.*

A divide-and-conquer algorithm recursively divides a problem into two or more sub-problems of the same or related type, until they are simple enough to be solved directly.

**The Divide and Conquer algorithm consists of a dispute using the three steps listed below.**

**Divide***the original problem into sub-problems.***Conquer**:*Solve each sub-problem one at a time, recursively.***Combine**:*Put the solutions to the sub-problems together to get the solution to the whole problem.*

Hashing is a technique or process that uses a hash function to map keys and values into a hash table. It is done to allow for quicker access to elements. The efficiency of mapping is determined by the hash function’s efficiency.

This article is contributed by ** Abhijit**.
If you like dEexams.com and would like to contribute,
you can write your article here or mail your article to admin@deexams.com .
See your article appearing on the dEexams.com main page and help others to learn.