Data Structures and Algorithms in Python
Miriam Antona
Software Engineer
colors = ['green', 'yellow', 'blue', 'pink']
def constant(colors):
print(colors[2])
constant(colors)
blue
colors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple', 'red']
def constant(colors):
print(colors[2]) # O(1)
constant(colors)
blue
colors = ['green', 'yellow', 'blue', 'pink']
def linear(colors):
for color in colors:
print(color)
linear(colors)
green
yellow
blue
pink
colors = ['green', 'yellow', 'blue', 'pink'] # n=4
def linear(colors):
for color in colors:
print(color) # O(4)
linear(colors)
n=4
: 4 operationscolors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple'] # n=7
def linear(colors):
for color in colors:
print(color) # O(7)
linear(colors)
n=4
: 4 operationsn=7
: 7 operationsn=100
: 100 operationscolors = ['green', 'yellow', 'blue']
def quadratic(colors):
for first in colors:
for second in colors:
print(first, second)
quadratic(colors)
n=3
: (3 x 3) 9 operationsn=100
: (100 x 100) 10,000 operationsgreen green
green yellow
green blue
yellow green
yellow yellow
yellow blue
blue green
blue yellow
blue blue
colors = ['green', 'yellow', 'blue']
def cubic(colors):
for color1 in colors:
for color2 in colors:
for color3 in colors:
print(color1, color2, color3)
cubic(colors)
n=3
: (3 x 3 x 3) 27 operationsn=10
: (10 x 10 x 10) 1,000 operationscolors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple']
other_colors = ['orange', 'brown']
def complex_algorithm(colors):
color_count = 0
for color in colors:
print(color)
color_count += 1
for other_color in other_colors:
print(other_color)
color_count += 1
print(color_count)
complex_algorithm(colors)
colors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple'] # O(1) other_colors = ['orange', 'brown'] # O(1)
def complex_algorithm(colors): color_count = 0 # O(1)
for color in colors: print(color) # O(n) color_count += 1 # O(n)
for other_color in other_colors: print(other_color) # O(m) color_count += 1 # O(m)
print(color_count) # O(1)
complex_algorithm(colors) # O(4
colors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple'] # O(1)
other_colors = ['orange', 'brown'] # O(1)
def complex_algorithm(colors):
color_count = 0 # O(1)
for color in colors:
print(color) # O(n)
color_count += 1 # O(n)
for other_color in other_colors:
print(other_color) # O(m)
color_count += 1 # O(m)
print(color_count) # O(1)
complex_algorithm(colors) # O(4 + 2n
colors = ['green', 'yellow', 'blue', 'pink', 'black', 'white', 'purple'] # O(1)
other_colors = ['orange', 'brown'] # O(1)
def complex_algorithm(colors):
color_count = 0 # O(1)
for color in colors:
print(color) # O(n)
color_count += 1 # O(n)
for other_color in other_colors:
print(other_color) # O(m)
color_count += 1 # O(m)
print(color_count) # O(1)
complex_algorithm(colors) # O(4 + 2n + 2m)
Data Structures and Algorithms in Python