摘要: 继之前 "分别手动实现和用bisect库实现二分查找" 后,测试下它们执行时间究竟差别多大。 首先搞个装饰器计算时间: 这是一个装饰器基本的实现,使用了一组 来区分带参数和不带参数的装饰器。(自卖自夸:D 我之前也写了一篇文章简单介绍了 "装饰器" ) 现在使用带参数的装饰器来测试平均执行时间。 次 阅读全文
posted @ 2020-02-06 20:39 AdjWang 阅读(196) 评论(0) 推荐(1) 编辑
摘要: 装饰器 装饰器是干什么用的? 装饰器可以在不修改某个函数的情况下,给函数添加功能。 形象点来说,从前有一个王叔叔,他一个人住在家里,每天打扫家,看书。于是定义如下一个函数: 后来呢,有一天,大头儿子一家搬到了王叔叔隔壁 : D 。根据 "剧情" ,一天,大头儿子的妈妈请王叔叔来家里吃饭,那么,王叔叔 阅读全文
posted @ 2020-02-06 19:54 AdjWang 阅读(354) 评论(1) 推荐(1) 编辑
摘要: 手动实现 假如有一个有序表 ,怎么样在 里找到某个值的位置呢?没错,就是 ,哈哈哈哈哈哈哈…… 假如 很长很长,那就要祭出二分查找了 计算mid的公式为 ,动态语言随便写,但是在静态语言中建议写成 ,这样可以防止 和`left (right + left)`溢出。 使用bisect 二分查找可以给查 阅读全文
posted @ 2020-02-06 19:25 AdjWang 阅读(501) 评论(0) 推荐(0) 编辑