If you keep the algorithm meaningful in any way, O(n!)
is the worst upper bound you can achieve.
Since checking each possibility for a permutations of a set to be sorted will take n!
steps, you can't get any worse than that.
If you're doing more steps than that then the algorithm has no real useful purpose. Not to mention the following simple sorting algorithm with O(infinity)
:
list = someList
while (list not sorted):
doNothing