Tamilnadu Samacheer Kalvi 12th Computer Science Notes Chapter 4 Algorithmic Strategies Notes

Algorithm:

  • An algorithm is a finite set of instructions to accomplish a particular task.
  • It is a step-by-step procedure for solving a given problem.

Sorting:
Sorting is the process of arranging information or data in certain order either in ascending or descending .

Searching:
Searching is a process of finding a particular element present in given set of elements.

Some of the searching types are:

  1. Linear Search
  2. Binary Search.

Algorithmic strategy:
The way of defining an algorithm is called Algorithmic strategy.

Algorithmic solution:
An algorithm that yields expected output for a valid input is called an algorithmic solution

Algorithm analysis:
An estimation of the time and space complexities of an algorithm for varying input sizes is called algorithm analysis .

Best Algorithm:
The best algorithm to solve a given problem is one that requires less space in memory and takes less time to execute its instructions to generate output.

Asymptotic notations:
Asymptotic Notations are languages that uses meaningful statements about time and space complexity

Memoization:
Memoization or memoisation is an optimization technique used primarily to speed up computer programs by storing the results of expensive function calls and returning the cached result when the same inputs occur again.

Linear search:
Linear search also called sequential search is a sequential method for finding a particular value in a list.

Binary search:

  • Binary search is also called half-interval search algorithm.
  • It finds the position of a search element within a sorted array.
  • The binary search algorithm can be done as divide-and-conquer search algorithm and executes in logarithmic time.

Bubble sort:

  • Bubble sort is a simple sorting algorithm.
  • The algorithm starts at the beginning of the list of values stored in an array.
  • It compares each pair of adjacent elements and swaps them if they are in the unsorted order.

Dynamic programming:
Dynamic programming is an algorithmic design method that can be used when the solution to a problem can be viewed as the result of a sequence of decisions.

Samacheer Kalvi 12th Computer Science Notes