Advertisement
flypip

Algo-Tri

Jun 21st, 2015
233
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.13 KB | None | 0 0
  1. __author__ = 'AneoPsy'
  2.  
  3. from random import randint
  4. from time import time
  5.  
  6. array = [randint (1,100) for _ in range(1000)]
  7.  
  8. def bubbleSort(array):
  9.     n = len(array)
  10.     switch = True
  11.     while switch == True:
  12.         switch = False
  13.         for j in range(0, n-1):
  14.             if array[j] > array[j+1]:
  15.                 switch, array[j], array[j+1] = True, array[j+1], array[j]
  16.     return array
  17.  
  18. def insertionSort(array):
  19.     for j in range(1, len(array)):
  20.         i = j-1
  21.         var = array[j]
  22.         while i > -1 and array[i] > var:
  23.             array[i+1] = array[i]
  24.             i -= 1
  25.         array[i+1] = var
  26.     return array
  27.  
  28. def selectSort(array):
  29.     for k in range(0, len(array)):
  30.         mini = k #min(array[1:])
  31.         for l in range(k, len(array)):
  32.             if(array[l] < array[mini]):
  33.                 mini = l
  34.         if mini is not k:
  35.             array[k], array[mini] = array[mini], array[k]
  36.     return array
  37.  
  38. def quickSort(array):
  39.     if array == []:
  40.         return []
  41.     else:
  42.         pivot = array[0]
  43.         lesser = quickSort([x for x in array[1:] if x < pivot])
  44.         greater = quickSort([x for x in array[1:] if x >= pivot])
  45.         return lesser + [pivot] + greater
  46.  
  47. def testSort():
  48.     timer = [[], [], [], []]
  49.     result = [[], [], [], []]
  50.     for value in range(0,1):
  51.         array = [randint (1,100) for _ in range(100)]
  52.  
  53.         start = time()
  54.         result[0] = quickSort(list(array))
  55.         end = time()
  56.         timer[0].append(end-start)
  57.         print("qSort %d: %0.10fs" %(value, end-start))
  58.  
  59.         start = time()
  60.         result[1] = bubbleSort(list(array))
  61.         end = time()
  62.         timer[1].append(end-start)
  63.         print("BubbleSort %d: %0.10fs" %(value, end-start))
  64.  
  65.         start = time()
  66.         result[2] = insertionSort(list(array))
  67.         end = time()
  68.         timer[2].append(end-start)
  69.         print("insertionSort %d: %0.10fs" %(value, end-start))
  70.  
  71.         start = time()
  72.         result[3] = selectSort(list(array))
  73.         end = time()
  74.         timer[3].append(end-start)
  75.         print("selectionSort %d: %0.10fs" %(value, end-start))
  76.  
  77.  
  78. testSort()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement