草庐IT

K-Means算法迭代

全部标签

javascript - 避免用多种不同的语言编写相同的算法

我是一名Web开发人员,我发现很多时候我需要在客户端和服务器上使用相同的功能。所以我用JS以及PHP或任何服务器端语言编写它。我受够了这个。如果我必须更改它,那么我需要在两个地方都进行更改。如果我想将它用于某些手持设备,那么我将不得不使用Objective-C或Java等再次重写该代码。然后如果我需要更改该功能,那么我将需要在所有地方更改它。有解决办法吗?如果我将通过ajax调用一些web服务,那么客户端将有延迟。如果它将在JS中,则无法从PHP或Java等内部访问它。如果我从另一种语言使用PHP中的某些服务,那么这也可能成为性能问题。有时我们也可能需要使用db或不使用db作为输入的某

javascript - 许多节点的图形算法

我一直在尝试开发一个基于Web的应用程序来帮助绘制节点及其交互的图形。我尝试将Sigma.Js与ForceAtlas扩展一起使用。对于我的简单测试(几个节点),结果非常好看,但是如果增加了1000个节点,结果就会变得一团糟。有没有这样的方法可以使结果更易于查看?(在眼睛上更容易/不仅仅是1个大Blob)我将如何去做呢?是否已经编写了任何算法(我可以实现?) 最佳答案 您可以尝试Fruchterman-Reingold力布局(有一个sigmaplugin)。它特别减少了相互交叉的链接数量,因此它通常更适合大型图(除非所有节点都有很多连

javascript - 在不超过堆栈限制的情况下迭代或递归大量庞大函数的最佳方法是什么?

我有一个用Node.js编写的应用程序,它需要进行大量配置和数据库调用才能处理用户数据。我遇到的问题是,在11,800多次函数调用之后,Node将抛出错误并退出进程。错误提示:RangeError:超出最大调用堆栈大小我很好奇是否有其他人遇到过这种情况,想知道他们是如何处理的。我已经开始将我的代码分解成几个额外的工作文件,但即便如此,每次我处理一个数据Node时,它都需要接触2个数据库(最多25次调用来更新各种表)并进行一些清理检查.如果是这种情况,我完全愿意承认我可能正在做一些非最佳的事情,但如果有更优化的方式,我会很感激一些指导。这是我在数据上运行的代码示例:app.post('/

javascript - 确定定界形状边界的点的算法——使用 javascript

我正在开发一个htmlmap制作器,我想为我们的用户提供通过单击区域快速创建形状的能力,而不是让他们手动定义形状。首先让我们看看我们目前正在做什么。用户想要绘制区域A。他需要做的是在每个点上多次单击以定义形状的边界。我想知道是否有一种算法允许用户在A区域中单击并可以确定要放置哪些点以便在形状边界之后创建接近最佳的形状-基于图像对比度。我处理这个问题的第一个想法是确定离点击点最远的上、左、下、右点。将这四点作为我们的出发点。然后对于每个段,用一个新点对其进行分割,并沿着向量法线移动新点,直到我碰到对比边缘。当然,这种方法有一些局限性,但这是我可以假设的形状可以是凸的,凹的等等...对比度

javascript - 使用Dijkstra算法寻找能够承载最大权重的路径

我有一个图,有X个节点和Y个边。加权边缘。重点是从一个节点开始,并在最后一个位置的另一个节点停止。现在问题来了:将问题可视化。边缘是道路,边缘权重是在道路上行驶的车辆的最大重量限制。我们想驾驶最大的卡车从A到F。我想要从A到F的所有路径的最大允许重量。我可以使用某种Dijkstra算法来解决这个问题吗?我不确定如何以我可以实现的算法的形式来表达这个问题。任何帮助深表感谢。我很困惑,因为Dijkstra算法只考虑最短路径。 最佳答案 如果我没理解错的话,你想找到一些具有最大瓶颈边的节点之间的路径。也就是说,你想要最小边尽可能大的路径。

javascript - 动态嵌套对象数组的递归迭代

我正在使用AngularJS及其示例之一:http://jsfiddle.net/furf/EJGHX/我需要在更新功能发生时获取数据,并在发送到服务器之前向其添加一些值。(如果用angular而不是js做这个会更好让我知道)我正在尝试获取“parentid”和“index”并更新子项。这是我正在循环的数据{"children":[{"id":"5","parentid":"0","text":"DeviceGuides","index":"1","children":[{"id":"10","index":"0","text":"GrandstreamGXP-21XX"},{"id"

Javascript 模块化算法

Javascript将以下代码片段计算为-1。-5%4我理解余数定理表明a=bq+r使得0≤r 最佳答案 因为它是一个remainderoperator,不是模数。但是有一个proposalforaproperone.引自Ecma5.1remainderrfromadividendnandadivisordisdefinedbythemathematicalrelationr=n−(d×q)whereqisanintegerthatisnegativeonlyifn/disnegativeandpositiveonlyifn/dis

javascript - 获取对象中所有项目组合的高效算法

给定一个包含n个键的数组或对象,我需要找到所有长度为x的组合。给定X是可变的。binomial_coefficient(n,x)。目前我正在使用这个:functioncombine(items){varresult=[];varf=function(prefix,items){for(vari=0;i输出是:["a","ab","abc","abcd","abd","ac","acd","ad","b","bc","bcd","bd","c","cd","d"]因此,如果我想要n=4中的二项式系数x=3,我会选择所有长度等于3的字符串。{abc,abd,acd,bcd}。所以我分两步进

javascript - 检查迭代 JavaScript 变量是否安全

我有一个JavaScript函数,有人可以在其中传递任何内容,我使用遍历它的每个键forxinobj语法。但是,如果它们传递原始值(字符串或数字),则会导致错误;正确的行为是函数对这些函数的作用与对没有键的对象的作用相同。我可以做一个try..catchblock来解决这个问题,但是还有另一种(更简洁的)方法吗? 最佳答案 x&&typeof(x)==='object'对象和数组也是如此(尽管您通常不想使用for..in遍历数组)。编辑:根据CMS修复。 关于javascript-检查迭

javascript - 绘制具有厚度/宽度的线的算法

我正在寻找一种绘制具有一定粗细的线条的快速算法。线条不必抗锯齿,速度优先。像这样相当简单的东西就足够了:用例是一个Javascript游戏,蠕虫会留下痕迹。(HTML5Canvas明显画线,但是getImageData()很慢,碰撞检测也很慢)在过去的2.5小时内,我找不到执行此操作的任何东西。是的,我知道关于SO的问题几乎相同,实际上有很多,但没有一个有可行的解决方案。我目前唯一的解决方案是沿着Bresenham线画圆,这不是很有效。一些代码(伪代码、JS或至少一篇文章的链接)会很棒。 最佳答案 http://members.ch