input: from typing import List, Tuple
  
  def evaluate_algorithm_performance(data: List[Tuple[float, float]], algorithm1, algorithm2) -> str:
      """Evaluates and compares the performance of two different heuristics algorithms
      given a list of input data. Each element in the input data is a tuple containing
      two sets of data for the algorithms. The function returns a string indicating 
      which algorithm is faster or if they have the same performance time.
      
      Example:
      >>> evaluate_algorithm_performance([(1,2), (3,4)], heuristics_algorithm1, heuristics_algorithm2)
      'Algorithm 1 is faster than algorithm 2'
      """
output:     times1 = []
      times2 = []
      
      for d in data:
          start = time.time()
          algorithm1(d[0])
          times1.append(time.time() - start)
          
          start = time.time()
          algorithm2(d[1])
          times2.append(time.time() - start)
      
      avg_time1 = sum(times1) / len(times1)
      avg_time2 = sum(times2) / len(times2)
      
      if avg_time1 < avg_time2:
          return 'Algorithm 1 is faster than algorithm 2'
      elif avg_time1 > avg_time2:
          return 'Algorithm 2 is faster than algorithm 1'
      else:
          return 'Both algorithms have the same performance time'