By coding algorithm and using some liberal prints with small set of data, you can learn to understand the basic algorithms better than just reading about them.
Here simple selection sort.
""" demonstrating simple selection sort with prints"""
data = [64, 25, 12, 25, 22, 11, 62]
for current in range(len(data)-1):
min_value_index = current
print('Sorted: %s, Checking: %s' % (data[:current],data[current:]))
for index, d in enumerate(data[current:], current):
if data[min_value_index] > d:
min_value_index = index
if min_value_index != current:
data[current], data[min_value_index] = data[min_value_index], data[current]
else:
print('No swap needed')
print('\nReady result:')
print(data)
OK, if you put one print more you can find a stupid thing I do. Up vote for first one to spot it.
""" demonstrating simple selection sort with prints"""
data = [64, 25, 12, 25, 22, 11, 62]
for current in range(len(data)-1):
min_value_index = current
print('Sorted: %s, Checking: %s' % (data[:current],data[current:]))
# min_value_index = current, does not need to check that -> + 1
for index, d in enumerate(data[current + 1:], current + 1):
#print(index, min_value_index)
if data[min_value_index] > d:
min_value_index = index
if min_value_index != current:
data[current], data[min_value_index] = data[min_value_index], data[current]
else:
print('No swap needed')
print('\nReady result:')
print(data)
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, learning, and sharing knowledge.
You're trying to visit a URL that doesn't currently exist on the web. Most likely, a member posted a link a long time ago to a web page that has since been removed. It's also possible that there was a typo when posting the URL. We redirect you to this notice instead of stripping out the link to preserve the integrity of the post.