👉 In computational complexity theory, a non-restrictive algorithm is an algorithm that can be solved in polynomial time by any algorithm which only requires access to one or fewer variables. A restriction-free algorithm is an algorithm that cannot be solved in polynomial time by any algorithm which requires access to more than one variable.