数据结构基础:时间复杂度

mac2023-06-09  15

文章目录

时间复杂度比较引入timeit 类比较运算时间

时间复杂度比较

# 时间复杂度由小到大 # O(1) < O(log n) < O(n*log(n)) < O(n**2) < O(n!) < O(n**n)

引入timeit 类比较运算时间

def test1(): li = [i for i in range(10000)] def test2(): li = [] for i in range(10000): li.append(i) def test3(): li = [] for i in range(10000): # extend 只能接受可遍历对象 li.extend([i]) def test4(): li = [] for i in range(10000): li += [i] # timer1: 0.4439139723849812 秒 [i for i in range(10000)] timer1 = Timer("test1()", "from __main__ import test1") print("timer1: {} 秒".format(timer1.timeit(1000)), ) # timer2: 1.2155641569668147 秒 .append(i) timer2 = Timer("test2()", "from __main__ import test2") print("timer2: {} 秒".format(timer2.timeit(1000))) # timer3: 1.6170932795133872 秒 .extend([i]) timer3 = Timer("test3()", "from __main__ import test3") print("timer3: {} 秒".format(timer3.timeit(1000))) # timer4: 1.1001418028587198 秒 += [i] timer4 = Timer("test4()", "from __main__ import test4") print("timer4: {} 秒".format(timer4.timeit(1000)))
最新回复(0)