Python で挿入ソートを実装しましたが、アルゴリズムの複雑さを判断する方法を知りたいと思っていました。これは挿入ソートを実装する非効率的な方法ですか? 私には、これが最も読みやすいアルゴリズムのように思えます。
import random as rand
source = [3,1,0,10,20,2,1]
target = []
while len(source)!=0:
if len(target) ==0:
target.append(source[0])
source.pop(0)
element = source.pop(0)
if(element <= target[0]):
target.reverse()
target.append(element)
target.reverse()
elif element > target[len(target)-1]:
target.append(element)
else:
for i in range(0,len(target)-1):
if element >= target[i] and element <= target[i+1]:
target.insert(i+1,element)
break
print target