两种做法对比,最要紧的是

拿两种做法做对比测试,最要紧的是【0】。

开始练习 →

只跑一次的问题

计时只跑一次就下结论,问题是【0】。

开始练习 →

除了时间还该看什么

做性能对比时,除了时间之外还应该记录【0】。

开始练习 →

数据量翻倍,列表版慢几倍

把数据量从 100 条加到 200 条,看列表判重的比较次数怎么变。运行下面这段程序: def list_ops(n): ops = 0 seen = [] for i in range(n): fo

开始练习 →

集合版呢

同样从 100 条加到 200 条。运行下面这段程序: def set_ops(n): ops = 0 seen = set() for i in range(n): ops += 1

开始练习 →

数出列表版的比较次数

补全 list_ops:模拟"每加一条都要和已有的挨个比",返回一共比了多少次。 ⚠️ 这条路线的 benchmark 全部数操作次数而不是计时——次数是确定的,时间每次都不一样。 算 100 条的情况。

开始练习 →

数出集合版的比较次数

补全 set_ops:改用集合判重,每条只算一次。 同样算 100 条。

开始练习 →

出一份对比数据

补全 report:返回一份对比结果,格式是 列表版次数/集合版次数/倍数(用 / 隔开,倍数用整除)。 算 100 条的情况。

开始练习 →

自己写的和标准库比,通常差在哪

自己手写的结构和 Python 标准库比,通常差在【0】。

开始练习 →

那还要不要自己写一遍

既然标准库更快,自己动手写一遍的意义是【0】。

开始练习 →