Skip to main content

Activity Selection Problem in Short

Activity Selection Problem is used extensively. Suppose a person is given n activities with their start & finish time. Select the maximum number of activities that can be performed by a single person, assuming that a person can only work on a single activity at a time.

Greedy Approach:
  1.  set n equal to the max finish time
  2.  initialize set of selected activity with a
  3.  set k=1
  4. loop m=2 to n
  5.    if start time of current activity is greater than the finish time of last activity 
  6.           add the current activity to selected activity
  7.           set k=m

Comments

Popular posts from this blog

BitWise Operators Explained in Short

Bitwise Operators :    Bitwise Operators do not operate on decimal value of the Number. They first convert the numbers into binary value & then they operate on it. Bitwise opeartors are not used with floating type variables. Bitwise AND :-   & Bitwise OR    :-   | Bitwise XOR :-   ^ Bitwise NOT :-   ~ LEFT SHIFT :- << RIGHT SHIFT :- >> Bitwise AND  & Example : N1 = 10 , N2 = 15 N1 & N2 In Binary  :                                                  0 0 1 0 1 0                                                   0 0 1 1 1 1  ...

Insertion Sort in C

#include<stdio.h> int main() {     int arr[]={8,5,7,4,3,0};     int n = sizeof(arr)/sizeof(int);     int key=0,i=0,j=0;     for(i=1;i<n;i++){         key=arr[i];         j=i-1;         while(j>=0 && arr[j]>key){             arr[j+1]=arr[j];             j--;         }         arr[j+1]=key;     }      for(i=0;i<n;i++){         printf("%d\t",arr[i]);     }     printf("\n");     return 0; }