Co to je:

  • Dělat ideální možnost v aktuálním kroku
  • Hladový algoritmus
  • Bez zpětných úprav

Kdy použít?

nejlepší krok teď vede k nejlepšímu výsledku Budoucnost NEovlivní aktuální kód.Nen

Příklad

def activity_selection(activities):
    # seřadíme podle času konce
    activities.sort(key=lambda x: x[1])
 
    result = []
    last_end = 0
 
    for start, end in activities:
        if start >= last_end:
            result.append((start, end))
            last_end = end
 
    return result
activities = [(1, 3), (2, 5), (4, 7), (6, 9), (8, 10)]
 
selected = activity_selection(activities)
print(selected)