import random
import string
import time
def random_str():
size = random.randint(10, 20)
chars = string.ascii_letters + string.digits
return ''.join(random.choice(chars) for _ in range(size))
l = [random_str() for _ in xrange(1000000)]
t1 = time.clock()
for i in range(10):
set(l)
t2 = time.clock()
print(round(t2-t1, 3))
t1 = time.clock()
for i in range(10):
sorted(l)
t2 = time.clock()
print(round(t2-t1, 3))
我做了一个简单的测试来检查两个解决方案的运行时间。第一个测试创建一个
set
,第二个测试对列表进行排序(为了简单起见,它不删除重复项)。在正如预期的那样,创建一个集合要比排序快得多,因为它的复杂性是
O(n)
,而排序是O(nlogn)
。在我得到的输出:
^{pr2}$相关问题 更多 >
编程相关推荐