我怎麼能實現這個使用遞歸,它會更有效率?如何使用遞歸實現插入排序,哪個更有效?
我的代碼:
def insertionSort(array):
'''(list) - > list
Returns a sorted list of integers by implementing
the insertion sort which returns numbers in array from
least to greatest
'''
for i in range(1, len(array)):
if array[i-1] > array[i]: #Finds a number out of place
temp = array[i]
for a in range(0,i):
if temp < array[a]:
array.insert(a,temp)
del array[i+1]
break
return array
不,使用遞歸不是更有效率,它通常成本更高,您是否也嘗試過自己實現遞歸? – jamylak 2013-03-23 05:45:06
@jamylak Python不會優化遞歸,而且這也相當多?我在這裏看過一些關於時間測量的帖子,這些測試結果表明,這些測試幾乎與遞歸和迭代相當。 – asheeshr 2013-03-23 05:48:07
@AshRj你在說什麼職位? Python遞歸非常慢 – jamylak 2013-03-23 05:49:00