Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.67 KB | None | 0 0
  1. import random
  2. def generateRandomList(n, min = 1, max = 100):
  3. r = []
  4. for i in range(n):
  5. r.append(random.randint(1,100))
  6. return r
  7.  
  8. def generateRandomGrid(n):
  9. r = []
  10. for i in range(n):
  11. r.append(generateRandomList(n))
  12. return r
  13.  
  14. def searchGrid(grid):
  15. smallest = grid[0][0]
  16. for l in grid:
  17. for e in l:
  18. if e < smallest:
  19. smallest = e
  20. return smallest
  21.  
  22. def smallestLinSearch(l):
  23. smallest = l[0]
  24. for e in l:
  25. if e < smallest:
  26. smallest = e
  27. return smallest
  28.  
  29. def linSearch(l, target):
  30. for i in range(len(l)):
  31. if l[i] == target:
  32. return i
  33. return -1
  34.  
  35. def binSearch(l, target):
  36. length = len(l)
  37. c = 1
  38. i = 1
  39.  
  40. while True:
  41. factor = i/2**c
  42. index = int(len(l)*factor)
  43. item = l[index]
  44. if item == target:
  45. return index
  46. elif 2**c >= len(l):
  47. return -1
  48. elif item < target:
  49. c += 1
  50. i = (i*2) + 1
  51. elif item > target:
  52. c += 1
  53. i = (i*2) - 1
  54.  
  55. def bubbleSortNums(l):
  56. done = False
  57. while not done:
  58. done = True
  59. for i in range(len(l) - 1):
  60. if l[i] > l[i+1]:
  61. tmp = l[i+1]
  62. l[i+1] = l[i]
  63. l[i] = tmp
  64. done = False
  65. return l
  66.  
  67. import timeit
  68.  
  69. list1 = generateRandomList(1000)
  70. list2 = generateRandomList(2000)
  71. list10 = generateRandomList(10000)
  72.  
  73. #Time linear search size 1000
  74. before = timeit.default_timer()
  75. smallestLinSearch(list1)
  76. after = timeit.default_timer()
  77. print(f"Linear search on a list of size 1000: {after - before} seconds")
  78.  
  79. #Time linear search size 2000
  80. before = timeit.default_timer()
  81. smallestLinSearch(list2)
  82. after = timeit.default_timer()
  83. print(f"Linear search on a list of size 2000: {after - before} seconds")
  84.  
  85. #Time linear search size 10000
  86. before = timeit.default_timer()
  87. smallestLinSearch(list10)
  88. after = timeit.default_timer()
  89. print(f"Linear search on a list of size 10000: {after - before} seconds")
  90.  
  91. #Time bubble sort size 1000
  92. before = timeit.default_timer()
  93. bubbleSortNums(list1)
  94. after = timeit.default_timer()
  95. print(f"Bubble sort on a list of size 1000: {after - before} seconds")
  96.  
  97. #Time bubble sort size 2000
  98. before = timeit.default_timer()
  99. bubbleSortNums(list2)
  100. after = timeit.default_timer()
  101. print(f"Bubble sort on a list of size 2000: {after - before} seconds")
  102.  
  103. #Time bubble sort size 10000
  104. before = timeit.default_timer()
  105. bubbleSortNums(list10)
  106. after = timeit.default_timer()
  107. print(f"Bubble sort on a list of size 10000: {after - before} seconds")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement