memoization相关内容

为什么备忘录不能改善合并排序的运行时间?

为什么备忘录不能改善合并排序的运行时间? 我在“分配"任务中有这个问题.但是据我所知,合并排序使用分而治之的方法(没有重叠的子问题),但是记忆化是基于动态编程(具有重叠的子问题)的.我知道合并排序的运行时是O(nlogn). 我什至在网络搜索引擎上进行了搜索,但这个问题没有任何结果.这个问题错了吗?如果听起来不对,那么教授为什么要在作业中提出错误的问题? 如果问题没有错,或者我对问题的 ..
发布时间:2020-05-08 18:53:12 其他开发

损坏的计算器

问题陈述: 计算器坏了.仅少数数字[0 to 9]和运算符[+, -, *, /]在起作用. 要求编号需要使用工作数字和运算符组成.键盘上的每次按下都称为操作. =运算符始终处于工作状态,并在请求编号为1时使用.由运算符组成. 如果要求编号为 -1,则需要打印.不能使用数字组成,且提供的运算符或超过最大编号.允许的操作数. 在计算结果的任何时候,没有.应该变成负数或超过999 ..
发布时间:2020-05-08 18:53:05 其他开发

记住延续传递样式功能

我想知道是否有一种方法可以实现能够处理cps样式函数的通用"memoize"函数(例如,以函数作为输入的函数以及作为输出的函数,例如python的装饰器). /p> 对于普通函数(如“返回结果值,参数仅用于输入!"),备忘录功能可以像在javascript中一样简单 function memoize(fun) { var cache = {}; return functio ..
发布时间:2020-05-08 18:52:56 前端开发

如何避免备忘录导致Ruby中的错误?

关于如何避免由于易变的状态而导致记忆不足的错误,是否达成共识? 在此示例中,缓存的结果的状态发生了变化,因此第二次调用时给出了错误的结果. class Greeter def initialize @greeting_cache = {} end def expensive_greeting_calculation(formality) case for ..
发布时间:2020-05-08 18:52:37 其他开发

线程安全的备忘录装饰器

我正在尝试制作一个可与多个线程一起使用的备忘录装饰器. 我知道我需要将缓存用作线程之间的共享对象,并获取/锁定共享对象.我当然正在启动线程: for i in range(5): thread = threading.Thread(target=self.worker, args=(self.call_queue,)) thread.da ..
发布时间:2020-05-08 18:52:35 Python

使用plone.memoize.ram无效/阻止记忆

我已经使用Zope实用程序,该实用程序具有执行网络进程的方法. 由于的结果有效了一段时间,因此我正在使用plone.memoize.ram来缓存结果. MyClass(object): @cache(cache_key) def do_auth(self, adapter, data): # performing expensive network proc ..
发布时间:2020-05-08 18:52:33 其他开发

使用Rails演示者-可记忆性的3.1版本已弃用-使用|| =代替?

问题:为避免在可能的情况下创建多个对象或多个查询. 我正在使用带有导轨的Presenters作为最佳实践. 我正在遵循这样的建议:由于一些问题,最好在设置具有@the_record = record ||= @record样式的项目时使用“扩展ActiveSupport.Memoizable"(然后记住:方法以使用它们) -不会存储为false或nil,因此查询将再次被调用,并且备忘录 ..
发布时间:2020-05-08 18:52:29 其他开发

记忆SQL查询

说我有一个运行SQL查询并返回数据帧的函数: import pandas.io.sql as psql import sqlalchemy query_string = "select a from table;" def run_my_query(my_query): # username, host, port and database are hard-coded here ..
发布时间:2020-05-08 18:52:27 Python

如何加快此备忘录装饰器的速度?

我想要的是一个回忆装饰器,它是: 可以同时使用参数和关键字参数来记住实例方法 具有一个可以通过一次调用(相对于使用每个功能的缓存的调用)(全局)清除的缓存:相当有效 我调整了一个示例,并提出了以下建议: import functools class Memoized(object): """Decorator that caches a function's return ..
发布时间:2020-05-08 18:52:23 Python

是否为python建立了已建立的备忘录磁盘装饰器?

我一直在寻找python模块,该模块提供了具有以下功能的便笺装饰器: 将缓存存储在磁盘上,以便在以后的程序运行中重复使用. 适用于任何可腌制的参数,最重要的是numpy数组. (奖金)检查参数是否在函数调用中发生了突变. 我找到了一些用于此任务的小代码段,并且可能自己实现了一个代码段,但是我希望为该任务建立一个已确定的程序包.我还发现了 incpy ,但这似乎不适用于标准的pyth ..
发布时间:2020-05-08 18:52:21 Python

熊猫记忆

我有很长的计算,需要重复很多次.因此,我想使用记忆(例如 jug 和joblib ),与 Pandas 配合使用.问题在于该程序包是否可以很好地记住Pandas DataFrames作为方法参数. 有人尝试过吗?还有其他推荐的包装/方法吗? 解决方案 水罐的作者在这里:水罐工作正常.我只是尝试了以下方法,但效果很好: from jug import TaskGenerator ..
发布时间:2020-05-08 18:52:16 Python

Python中的有效备忘

我有一些任务要解决,目前最重要的部分是使脚本尽可能地节省时间.我要优化的元素之一是其中一个功能中的记忆. 所以我的问题是:以下3-4种方法中,哪一种是在Python中实现备忘录的最有效/最快的方法? 我仅提供了代码作为示例-如果其中一种方法更有效,但在我提到的情况下效率不高,请分享您所知道的信息. 解决方案1-使用外部作用域中的可变变量 此解决方案通常作为示例备忘录显示,但 ..

如何记忆**变态?

我还没有找到一种可以记忆带有关键字参数(即某种类型的参数)的函数的既定方法 def f(*args, **kwargs) 因为通常备忘录器具有dict来缓存给定一组输入参数的结果,并且kwargs是dict,因此无法哈希.我尝试了以下讨论,在此处中,使用 (args, frozenset(kwargs.items())) 作为高速缓存dict的键,但这仅在kwargs中的值是可 ..
发布时间:2020-05-08 18:52:10 Python

记住一个粗略的函数

const f = (arg1) => (arg2) => { /* returns something */ } 是否可以针对两个参数来记忆f,即: f(1)(2); f(1)(3); // Cache not hit f(4)(2); // Cache not hit f(1)(2); // Cache hit 解决方案 您可以将Map用作缓存,并为以下所有参数获取嵌套映射. ..
发布时间:2020-05-08 18:52:08 前端开发