用cprofile测试算法执行的时间

import cProfile
import random


def bubble_sort(li):
    """
    冒泡排序原理:前一个数和后一个数做比较,较大的数往后排然后依次比较
    :param li:
    :return:
    """
    # n 个数字需要做n-1趟操作
    for i in range(len(li) - 1):
        # 每做一趟排序就会有一个数字排好,做i次就有i个数字排好序。做交换的次数是n-i-1次
        for j in range(len(li) - i - 1):
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
    return li


def shuffle1():
    """
    算法思路:将54张牌编号为有顺序的列表,通过rendom.shuffle方法实现编号乱并返回list
    :return: item顺序打乱后的列表
    """
    item = [i for i in range(1000)]
    random.shuffle(item)
    return item


ret = shuffle1()
# print(bubble_sort(shuffle1()))

cProfile.run("bubble_sort(ret)")

https://selfboot.cn/2016/06/13/python_performance_analysis/

posted @ 2019-07-13 20:59  平平无奇小辣鸡  阅读(212)  评论(0)    收藏  举报