예를 들어 프로그램에서 알고리즘이 느린 이유를 알아보고 싶다고 하자. 다음 코드에서는 삽입 정렬(insertion sort)을 사용해 데이터 리스트를 정렬하는 함수를 정의한다.
def insertion_sort(data):
result = []
for value in data:
insert_value(result, value)
return result
삽입 정렬의 핵심 메커니즘은 데이터 조각을 삽입할 위치를 찾는 함수다. 다음은 입력 배열을 선형 검색하는 아주 비효율적인 insert_value 함수다.
def insert_value(array, value):
for i, existing in enumerate(array):
if existing > value:
array.insert(i, value)
return
array.append(value)