import timeit import math def showTheRules(n): # 1 # TO KNOW: Sequential actions are added x = 2 # O(1) y = 3 # O(1) # O(1) + O(1) = O(1+1) = O(2) # O(c) -> O(1) def createSet(sizeOfSet): # 2 newSet = set() # Loop repetitions get multiplied by loop context for i in range(sizeOfSet): # n newSet.add(i) # 1 return newSet def tenTimes(multiplier): # 3 myList = list() firstTen = 10 for i in range(firstTen): myList.append(i*multiplier) return myList def create2DList(size): # 4 returnList = list() for i in range(size): # n returnList.append(list()) for j in range(size): # n returnList[i].append('X') return returnList def quadraticEquation(a, b, c): # 5 O(1) d = b**2-4*a*c # discriminant # # We take the worst case statement if d == 0: x = (-b+math.sqrt(b**2-4*a*c))/2*a elif d > 0: x1 = (-b+math.sqrt((b**2)-(4*(a*c))))/(2*a) x2 = (-b-math.sqrt((b**2)-(4*(a*c))))/(2*a) def subsets(my_set): # 6 result = [[]] for x in my_set: result = result + [y + [x] for y in result] return result