我正在寻找一个具有持久数据结构的函数库.我只需要嵌套数组和字典.有一些功能性的JavaScript库,但它们不适合不变性.我希望能够写作
var dict = makeDictionary({
'foo': 1;
'bar': {
'ely': 2;
}
});
var newDict = dict.assoc('foo', 42).assoc('bar', 'tender', 30).dissoc('bar', 'ely');
assert.eq dict.bar.ely, 2; // unchanged
assert.eq newDict.bar.tender, 30; // added
assert.eq newDict.bar.ely, undefined; // removed
Run Code Online (Sandbox Code Playgroud)
虽然下划线在某些情况下很接近,特别是对于数组,它会修改字典参数.我也可以使用clojurescript,但我更喜欢更轻量级的方法.
javascript functional-programming persistent-data data-structures
我遇到了以下问题的麻烦
给定N x S网格和m个平行于水平轴的段(所有这些都是元组(x',x'',y)),回答形式(x',x'')的Q在线查询.这种查询的答案是最小的y(如果有的话),这样我们就可以放置一个段(x',x'',y).所有段都是非重叠的,但是一个段的开头可以是另一个段的结尾,即允许段(x',x',y)和(x'',x'',y).能够放置一个段意味着可能存在一个段(x',x'',y)不会违反规定的规则,段实际上并未放置(具有初始段的板未被修改)但我们只说明可能有一个.
约束
1 ? Q, S, m ? 10^5
1 ? N ? 10^9
Time: 1s
Memory: 256 Mb
Run Code Online (Sandbox Code Playgroud)
以下是以下链接中的示例.输入段是(2,5,1),(1,2,2),(4,5,2),(2,3,3),(3,4,3).
回答查询
1)(1,2)→1
2)(2,3)→2
3)(3,4)→2
4)(4,5)→3
5)(1,3)→不能放置一个段
第三个查询的可视化答案(蓝色部分):
我不太明白如何处理这个问题.它应该用持久的分段树来解决,但我仍然无法想出一些东西.
请问你能帮帮我吗.
这不是我的功课.源问题可以在http://informatics.mccme.ru/mod/statements/view3.php?chapterid=111614找到.可用的语句没有英文版本,测试用例以不同的方式显示输入数据,所以不要介意源.
存储持久数据的最佳方式是什么?我想保存用户最后一次在页面上活动的时间。起初我使用本地存储,然后我切换到cookie,因为它看起来更容易使用,现在我正在考虑将其存储在数据库中。你有什么建议。
另外,您能否建议一种在用户离开页面时进行注册的好方法?
为什么没有任何实现(在 C、C++、Java 甚至 Python 中)完全持久(不一定是功能性)的链表,其修改次数具有恒定的时间/空间开销?
我想到的数据结构是本文中描述的: http://www.cs.cmu.edu/~sleator/papers/Persistence.htm
经过在谷歌上进行长时间搜索后,我什至无法找到具有上述开销的部分持久链表实现。
PS:我所说的持久性的定义是在以下维基百科页面中描述的: http: //en.wikipedia.org/wiki/Persistent_data_struct
编辑(问题被搁置后):
我认为提到的原因不适用于我的问题。我并不是完全要求在不同的可用图书馆之间进行推荐,因此不能有“固执己见的答案和垃圾邮件”。我的问题是令人惊讶的是,理论上应该很棒的数据结构却没有被任何已知的语言实现。因此,在我自己实现它之前,我问了这个问题,看看是否有这样的答案:“这很正常,数据结构 X 主导了您正在寻找的数据结构,这就是为什么尽管它很简单,但它尚未实现”。另一个答案可能是“它没有你想象的那么好,因为有一个很大的隐藏常量”或者“它与当今缓存的构建方式做得不太好”......如果我的问题不够清楚,我很抱歉。我改变了我的问题,使我的要求现在更加明确。
我开发了一个使用Core Data框架的iOS应用程序,并将持久存储保存在应用程序文档目录中.在app terget中,我可以使用以下方法检索持久性存储路径:
- (NSString *)applicationDocumentsDirectory {
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个新的WatchKit扩展目标,我想检索iOS应用程序保存的持久存储,但是当我尝试在watch扩展的Interface Controller中使用上面的方法时,它返回一个不同的路径.
如何在watchkit extesion目标中找到iOS应用程序的持久存储路径?
基本上我想在 Django 中创建一个变量持久化,但我不知道如何。
更准确地说,我希望用户在登录站点时选择一个特定的项目(例如通过 ChoiceField)。然后,只要他不选择其他项目,站点就“知道”他选择了哪个项目,以便他可以执行与该项目相关的一些操作。
这怎么可能?会话变量是要走的路吗?或者也许是缓存系统?一些提示将不胜感激:)
如果我不够清楚,请告诉我
django global-variables django-cache persistent-data django-sessions
我知道db-xx.log是日志文件而db.redo是参考文件?
db-xx.log存储尚未使用的消息.消费后,这些消息将从db-xx.log中删除.db.redo按消息ID存储消息的引用(存储在db-xx.log中).
我的理解是代理首先将消息存储在缓存(易失性存储器)中,然后在检查点或缓存大小已满时将这些消息移动(附加)到db-xx.log.
谢谢
java ×2
algorithm ×1
c++ ×1
containers ×1
core-data ×1
django ×1
django-cache ×1
ios ×1
javascript ×1
kahadb ×1
segment-tree ×1
watchkit ×1
xcode ×1