使用选择排序时,仅仅10000个数据python用时比老师视频C++实现的用时长很多,这是什么原因?
来源:2-4 测试算法的性能
慕运维2948618
2018-02-17
def selection_sort(arr): for i in range(len(arr)): min_index = i for j in range(i+1, len(arr)): if arr[j] < arr[min_index]: min_index = j arr[i], arr[min_index] = arr[min_index], arr[i] def isSorted(arr): for i in range(1,len(arr)): if arr[i-1] > arr[i]: return False return True def testSort(sort, arr): start_time = time() sort(arr) t_elasped = time() - start_time assert isSorted(arr), '没有排好序' print(sort.__name__, '用时:', t_elasped, '秒') arr1 = [random.randint(a, b) for _ in range(n)] testSort(selection_sort, arr1)
而老师使用C++实现时,仅仅使用了0.0几秒,差了几十倍。
写回答
1回答
-
原生python就是这么慢哦。可以参考这个答案:https://coding.imooc.com/learn/questiondetail/4984.html :)
032018-02-18
相似问题