草庐IT

算法评估

全部标签

javascript - "visit each door once"问题的规范算法

有许多谜题是经典“柯尼斯堡七桥”谜题的变体,在这些谜题中,您必须找到一条穿过一组房间的路线,而无需两次使用门。这是一个没有解决方案的例子。...是一个稍微修改过的谜题,确实有一个解决方案,正如您在此处看到的那样。我对解决这类问题的编程方法很感兴趣,虽然有很多方法可以确定房间和门的特定配置没有解决方案,但我对计算要访问的门列表很感兴趣解决难题。查看问题的一种方法是将其配置转换为图形并求解哈密顿量。然而,由于禁止“掉头”的约束,此类问题需要解决不优雅的逻辑。我在几分钟内破解了一个解决方案来展示问题。这是一种将“房间”分组的蛮力解决方案,具有附加的不变性,即您不能在同一个房间中从一个“门”移

javascript - 动态评估模板文字

假设我有这样的模板文字:consttemplateLiteral=`stringtext${expression}stringtext`我想将模板字面量动态计算为完成的字符串。functiontoFoo(templateLiteral){//returns"stringtextFoostringtext"returntemplateLiteral.evaluate('Foo');}functiontoBar(templateLiteral){//returns"stringtextBarstringtext"returntemplateLiteral.evaluate('Bar');}

javascript - Node.js 全局评估,抛出 ReferenceError

我正在尝试从Rhino书中学习JavaScript。我试图执行书中关于eval()的以下代码。我正在使用node.js(v0.10.29)来执行示例。vargeval=eval;//aliasingevaltogevalvarx='global';//twoglobalvariablesvary='global';functionf(){varx='local';//definealocalvariableeval('x+="changed";');//directevalsetsthelocalvariablereturnx;}functiong(){vary='local';//d

javascript - 评估点表示法中的字符串以从 View 中的对象获取相应的值

真的希望有人能帮助我解决我最近遇到过几次的问题。假设我在AngularJS中有两个对象。$scope.fields=['info.name','info.category','rate.health']$scope.rows=[{info:{name:"Apple",category:"Fruit"},rate:{health:100,ignored:true}},{info:{name:"Orange",category:"Fruit"},rate:{health:100,ignored:true}},{info:{name:"Snickers",category:"Sweet"},

javascript - DevTools 性能工具中的解析、编译和评估是什么?

在Chromes的性能选项卡中运行JS脚本时,我看到JS解释分为三个步骤:Parse、Compile和Evaluate。有时我只会看到Evaluate,有时会看到Compile和Evaluate,有时会看到全部三个。我的问题是:每个步骤的实际含义是什么?为什么有时会缺少步骤?(例如,有时Parse会丢失) 最佳答案 解析:js引擎检查代码,确定所有不同的范围、变量声明等,并对它们进行排序。在这一步也会发生提升。基本上你的纯文本源代码变成了AbstractSyntaxTree(AST)编译:ChromeV8使用JIT编译,这意味着部分

Javascript 评估顺序

看到这个JS片段,老实说,我不知道事物的评估顺序是什么......有任何想法吗?括号会有所帮助...returnpoint[0]>=-width/2-allowance&&point[0]=-height/2-allowance&&point[1] 最佳答案 https://developer.mozilla.org/en/JavaScript/Reference/Operators/Operator_Precedence相关运算符按以下顺序排列:一元否定、除法、加法/减法、关系(>=、return(point[0]>=((-wid

javascript - Facebook Bigpipe 技术算法

我一直在研究Facebook的bigpipe技术的这个流程,但我有这个问题。这个东西是怎么实现的?pagelet是通过ajax请求接收的吗?我一直在搜索这个bigpipe的源代码,但它指向了github的404页面。有人可以用低级(编程算法)的方式解释这个大管道吗?我对这项技术非常感兴趣。提前致谢 最佳答案 嗯,不,主要内容和pagelets是通过相同的连接接收的。pagelet在生成时简单地流式传输到浏览器,并使用Javascript放置在文档中。您可以在PHP中找到一个开放(且简单)的BigPipe实现here.

javascript - 有中点椭圆算法吗?

有没有类似中点圆算法的中点椭圆绘制算法?我在谷歌上搜索过示例,但我发现的任何示例要么不起作用,要么用于填充的椭圆,而不是绘制的。此外,关于中点圆算法的维基百科页面提到了椭圆版本的存在,但有一个谷歌似乎无法帮助解决的死链接。如有任何帮助,我们将不胜感激。 最佳答案 最终在这里找到了答案:http://geofhagopian.net/sablog/Slog-october/slog-10-25-05.htm复制和调整以在下面更普遍适用......functionellipsePlotPoints(xc,yc,x,y){setPixel

javascript - javascript关联数组使用什么样的哈希函数/算法?

我们了解到有许多不同的哈希算法/函数,我很好奇javascript(v8,如果实现很重要)使用哪一个。 最佳答案 由于V8是开源的,所以你去源码:这是GetHash():https://github.com/v8/v8/blob/master/src/objects.cc#L903并且,这里是一些不同类型的哈希函数:https://github.com/v8/v8-git-mirror/blob/bda7fb22465fc36d99b4053f0ef60cfaa8441209/src/utils.h#L347而且,这看起来像是字符串

javascript - 为什么 -0 === 0 评估为真?

这个问题在这里已经有了答案:Are+0and-0thesame?(11个答案)关闭6年前。据我所知,JavaScript中的所有数字都保存为float,除了数组索引和按位运算的操作数。因为所有float都有一个符号位-0===0应该评估为false。然而,它的计算结果为真。