A deterministic algorithm that performs f(n) steps always finishes with an accept or reject state and always finishes with the same result. A non deterministic algorithm that is f(n) levels may return different values on different runs, and may never finish with an accept or reject state.