Алгоритм з розгалуженням і повторенням