Algorithm paradigm that follows the `problem solving approach of making locally optimal choice at each stage with the hope of finding a a global optimum.
Problems in which greedy approach work have the next properties:
//GENERAL APPROACH TO GREEDY
Algorithm Greedy(arr, n){
  for(i=1 to n){
    x = select(arr)
    if feasible(x){
      solution = solution + x;
    }
  }
}