Skip to content

Instantly share code, notes, and snippets.

@hughdbrown
Created December 4, 2015 18:27
Show Gist options
  • Save hughdbrown/2a04e1f9422742cb7dbe to your computer and use it in GitHub Desktop.
Save hughdbrown/2a04e1f9422742cb7dbe to your computer and use it in GitHub Desktop.
bogosort
from itertools import tee
from random import shuffle
from datetime import datetime
def issorted(series):
s1, s2 = tee(series)
next(s2)
return all(elem1 <= elem2 for elem1, elem2 in zip(s1, s2))
def bogosort(series):
while True:
shuffle(series)
if issorted(series):
return series
def main():
for i in range(2, 20):
data = list(range(i))
s = datetime.now()
bogosort(data)
e = datetime.now()
print("{0}: {1}".format(i, e - s))
if __name__ == '__main__':
main()
@hughdbrown
Copy link
Author

Don't run it for all 20 cases:

2: 0:00:00.000888
3: 0:00:00.000041
4: 0:00:00.000150
5: 0:00:00.000116
6: 0:00:00.000864
7: 0:00:00.000597
8: 0:00:00.106921
9: 0:00:04.603876
10: 0:00:49.793120
…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment