草庐IT

存储算法

全部标签

javascript - 查找点属于哪个六边形的高效算法

我试图从以下方面找到一种更有效的方法来确定一个点属于哪个六边形:一组点-为了论证,10000点。一组六边形的中心点,大约1000个六边形。每个点都属于一个六边形,一些(大多数)六边形是空的。六边形形成一个完美的网格,一个六边形的点从左上角开始(它将与总面积的边缘重叠)。我目前的解决方案有效,但相当慢n*(mlogm)我认为,其中n=length(points)和m=length(六边形)。我怀疑我可以做得比这好得多,想到的一个解决方案是根据点和六边形到某个任意点(可能是中间,可能是Angular)的距离对点和六边形进行排序(仅一次),然后迭代在这些点和六边形的子集上,从第一个六边形到该

javascript - GM_setValue 和 GM_getValue 的 IE 等效项(Greasemonkey 存储)

我制作了一个脚本,可以在Firefox上正常运行。我正在iframe中从外部域检索一些数据,以使用setInterval()将它们插入页面我试过使用Trixie,使其在IE中运行,但似乎未定义函数GM_getValue和GM_setValue。我已经添加了这些基于cookie的替换功能,但我无法让它以跨域方式工作:http://www.howtocreate.co.uk/operaStuff/userjs/aagmfunctions.jscookie已创建,数据已存储,但只能从iframe访问,不能从顶级文档访问。这是我使用的基本结构:http://www.pastie.org/188

javascript - JavaScript 中的最近对算法

我正在尝试实现分而治之算法,以使用JavaScript在随机生成的点集中找到最近的一对点。该算法应该在O(nlogn)时间内运行,但它比简单的蛮力算法运行时间要长得多,后者应该是O(n^2)。我创建了两个jsfiddle,为16000个点的数组计算算法时间:DivideandConquerBruteForce我的假设是,分而治之之所以如此缓慢,是因为JavaScript数组实际上是哈希表。是否有可能显着加快JavaScript中的算法?如果是这样,执行此操作的最佳方法是什么? 最佳答案 一眼看去,您的合并函数分配了过多的内存(大致顺

javascript - 布料仿真系统并行化算法?

可以使用以下算法完成简单的布料模拟:deftick(dt):forp1inparticles:forboundinp.bounds:p2=bound.particlep2.vel+=p1.pos+bound.stable_pos-p2.posp1.pos+=p1.vel*dt作为测试,我尝试了implementingit在JavaScript中。不幸的是,这很难扩展。随着粒子数量的增加,性能下降得非常快,并且限制非常低。有没有办法并行化这个算法?你能把它描述成一个简单的伪代码吗? 最佳答案 下面是平行布仿真设计的详细说明:http:

javascript - 使用 jQuery 和 Javascript 打开 IOS 相机应用程序并将其存储为变量

我是否可以使用jQuery和Javascript,这样我就可以在IOS上打开相机应用程序,拍照,然后将该图像保存到一个变量中,这样我就可以将它上传到解析中?我不喜欢使用这个,因为你无法控制图像。谢谢 最佳答案 您可以将FileAPI与生成的、不可见的输入[type="file"]一起使用,这将为您留下一个File对象,然后您可以将其作为二进制文件使用,或者如下例所示,一个base64url​​,然后您可以将其传递给服务器。varbtn=document.getElementById('upload-image'),uploader=

javascript - Firefox Addons SDK - 如何从内容脚本访问简单存储?

我正在使用新的FireFoxAddonsSDK开发扩展。我有一个小部件,附有一个面板。该面板用于控制首选项,因此我需要从面板的内容脚本访问简单存储api。我知道您不能直接访问API,所以我尝试使用消息传递。这是我得到的:exports.main=function(){varpanel=require('panel');varss=require('simple-storage');varprefPanel=panel.Panel({contentURL:self.data.url('prefPanel.html'),contentScriptFile:self.data.url('pr

javascript - 在不填满磁盘的情况下检测 Firefox IndexedDB 或 Web Storage 存储限制?

我想使用IndexedDB处理大量数据。太多数据无法放入内存。为此,我想使用Firefox的IndexedDB持久存储,它允许我存储超过2GB的数据(Firefoxapparentlyhasalimitof2GBimposedonnon-persistentstorage)。但是,我遇到了一个问题。Firefox似乎没有对我可以存储在持久存储中的数据量施加限制。事实上,如果我让下面的示例继续运行,它显然会一直运行到磁盘已满!示例(Online)(必须在Firefox中运行!):FirefoxIndexedDBLimitTest(function(){'usestrict';varIDB

Javascript扫描线算法查找具有相同x坐标的所有元素

我正在尝试通过使用PUREJavascript(没有其他框架)来实现线扫描算法,它基本上从左到右扫描屏幕并查看共享的所有元素(包括重叠元素)相同的x坐标。例如我有6个带有黑色边框的div元素,它们都随机布局在屏幕上。出于说明目的,我使用垂直的蓝色虚线从左到右扫描整个平面。目标是报告该行经过的所有元素。对于上面的示例,我们如何报告DivA、DivE、DivD以及hyperlinkD在DivD中使用JavaScript? 最佳答案 你可以通过getBoundingClientRectmethod获取元素的位置.然后遍历它们并检查它们是否

javascript - 使用本地存储和 Google Analytics 进行 AB 测试

我正在我的电子商务网站上运行全站AB测试。访客登陆后,我会为他们分配一个本地存储键/值:functionisLocalStorageNameSupported(){vartestKey='test',storage=window.localStorage;try{storage.setItem(testKey,'1');storage.removeItem(testKey);returntrue;}catch(error){returnfalse;}}$(function(){if(isLocalStorageNameSupported()){varversion=Cookies.ge

javascript - 不要删除本地存储的所有键

在我的应用程序中,我希望立即删除本地存储的所有键,但包含单词“wizard”的所有键除外。命令如localstorage.clear();将删除所有内容,我只想保留那些带有“向导”一词的内容,我已经尝试过这种方式,但出现错误,因为如果我删除匹配项,在下一次迭代中将跳过一个键,我会收到错误,试图在现在为空的位置搜索匹配项,因为它已被删除。我该如何解决?这是我的代码:for(vari=0,len=localStorage.length;i 最佳答案 您可以遍历localStorage的entries,如果值包含wizard则删除键:lo