functional-programming相关内容
有关“好玩”,并学习函数式编程,我发展Clojure中,做使用的想法,从这个理论的音乐被称为“Westergaardian论”算法组成的程序。它产生的音乐(其中一条线是一个单独的工作人员组成的音符,每一个球场和持续时间序列)的线路。它基本上是这样的: 在开始用它由三个音符(如何将这些被选择的细节并不重要)一行。 随机执行这条线上的几个“业务”之一。操作随机选取来自所有对相邻指出,符合一定条件(对
..
我有一个问题,试图找出正确的算法来计算一组日期范围。 基本上我有一个无序的日期范围(含开始和结束时间的数组列表)名单,我想巩固这个列表,因此它不会包含重叠的时间。 基本上巩固两个日期范围: 如果启动1< = END2和START2< = END1 //表示重叠 如果START2<启动1 //把最小的时间启动1 启动1 = START2 ENDIF
..
我写一个程序,试图复制在本文开头所讨论的算法, F是CHAR函数为char。假设PL(f)为该函数的一个“似然性”的措施。该算法是: 以preliminary猜测的功能出发,说楼和再新的函数f * - 在计算PL(F)。 更改为F *通过随机换位的数值F的分配给两个符号。 在计算PL(F *);如果这是比PL(F)时,接受F *。 如果不是,翻转PL(F)/ PL(F *)的硬币;如果出现正
..
我想借此输入,如: [1,2,4,5,6,7,9,13] 和把它变成类似如下: [1,2],[4,7],[9,9],[13,13] 每个子阵重新presents一个整数范围。 解决方案 使用功能的方法的可枚举#块的: xs.enum_for(:块).with_index {| X,IDX | x - IDX} .MAP办|差异,组| [group.first
..
首先我是一个Haskell新手。 我读过这样的: 解决方案 当然也有很多方法函数式语言解决这个问题。 不同的数据结构 - 的许多数据结构能够在一个的纯功能的方式来实施,使用相同的算法的复杂性作为必要的版本。也许在这一领域的最知名的作品是克里斯Okasaki的纯功能性数据结构,但也有很多其他的资源。对于Dijkstra算法,马丁Erwig 的上的功能图是合适的。请参阅 不同的算法 -
..
说我有在的(高清树[1 [[2 [4] [5] [3 [6]]]]) 这应该是这样的: 1 / \ 2 3 / \ | 4 5 6 现在,我愿意做树的广度优先遍历没有任何的传统手段,如队列,而是使用专门的堆叠是传递信息。我知道这不是最简单的途径,但我主要是做锻炼。此外,在这一点上,我不打算返回一个集合(我会明白这一点之后的练习),但实际上只是打印出来的节点
..
思想 您好!我想要的图像处理库基于数据流的意识形态在Haskell实现。我有连接到我希望如何处理控制流程的问题。 主要思路是引入时间。该时间是浮动,这可能会在code任何地方访问(你可以认为它像有关国家单子,但有点滑稽)。关于它的有趣的事情是,我们可以使用结果时间转换运行,影响相应的操作会看到的时间。 一个例子是最好的解释这种情况。让我们用下面的数据流图: - 时光平移(* 2) -
..
我有这个实现埃拉托色尼的Clojure中筛的: (defn筛[N] (环[最后尝试2筛(范围2(INC N))] (如果 (或(零上次试过)(>最后试了N)) 筛 (让[过滤(过滤#(或(=%最后试过)(小于0(REM%,去年试了)))过筛) (让[下即尝试(第一次(过滤#(大于%最后试过)过滤))] (复发下
..
我在网上搜索不同的解决方案,在Haskell N皇后问题,但找不到任何可以为O检查不安全的位置(1)的时间,这样的一个你保持一个数组用于/对角线和一个用于\对角线 大多数解决方案,我发现刚才检查每一个新的女王对所有的previous的。事情是这样的: http://www.reddit.com/r/programming/评论/ 62j4m / nqueens%5Fin%5Fhaskell /
..
我对球员的技能等级,年龄和性别的数据集,并希望创建势均力敌的球队。 团队将有玩家相同数量(目前为8支球队的12名球员)。 团队应该有相同或相似的男女比例。 团队应该有相似的年龄曲线/分配。 我想试试这个在Haskell,但编码语言的选择是这个问题的最重要的方面。 解决方案 这是一个装箱问题或您需要这样的东西... 数据球员= P {技能::智力,性别:布尔,年龄::诠释} 确定一
..
上下文 这个问题的背景是,我想玩弄基因防爆pression编程(GEP),进化算法的一种形式,使用二郎。 GEP利用基于字符串的DSL名为“ Karva符号的'的。 Karva符号很容易转化为EX pression分析树,但翻译算法假定有一个实现可变对象:不完全分前pressions创建早在翻译过程中和自己分前pressions被填充在后面,与以前不曾知道的时间值,他们创建。 Karva符
..
我写这篇code找到素数小于给定数量我在Scala中。 高清findPrime(我的:int):列表[INT] = I匹配{ 案例2 =>表(2) 案例_ => { VAL primeList = findPrime第(i-1) 如果(isPrime(我,primeList))我:: primeList其他primeList } } 高清is
..
河内问题的塔是一个经典的问题递归。您将得到其中一个,3钉使用磁盘,你必须将所有磁盘从一个钉住另一种,按照给定的规则。此外,还必须与移动的最小数量做到这一点。 下面是一个递归算法,解决了这个问题: 无效Hanoi3(INT nDisks,炭源,炭中间物,焦炭DEST) { 如果(nDisks大于0) { Hanoi3(nDisks - 1,来源,DEST,
..
有谁知道什么是最糟糕的渐近放缓纯粹编程功能,而不是势在必行(即允许副作用)时可能发生的呢? 从由itowlson 的评论澄清:是否有的量,最好的已知的非破坏性的算法是渐近比最好的已知破坏性算法更糟任何问题,如果是的话多少? 解决方案 据有必须作出关于本文中的几个注意事项。最显著的是,它并没有解决偷懒函数式语言,如哈斯克尔。 鸟,琼斯和德穆尔[1997] 证明由Pippenger构建的问题是可
..
我在寻找一种算法来生成一组排列在这样一种方式,我可以让他们在Clojure的懒列表。即我想遍历每个置换不计算,直到我要求它排列的列表,并且所有的排列没有被存储在内存中一次。 另外我要找的地方给予一定的设置,它会返回一个集的“下一个”置换,以这样的方式,通过原始的所有排列多次呼吁自己的输出将循环函数的算法设置,以某种顺序(顺序是什么并不重要)。 有没有这样的算法?大多数我见过的排列生成算法往往生
..
虽然开始学习口齿不清,我遇到这个词的尾递归的。这是什么意思? 解决方案 尾递归是很好的描述在previous答案,但我认为,在行动的一个例子有助于说明这一概念。 考虑一个简单的功能,其将所述第一N个整数。 (例如:和(5)= 1 + 2 + 3 + 4 + 5 = 15 )。 下面是一个使用递归一个简单的Python实现: 高清recsum(X): 如果x == 1: 返回X 其他: 返回
..
想象一下,我们不得不来源,由AJAX请求。我想执行某些操作时,所有的回调被触发。这可怎么除了这种方法来实现: (功能($){ 变种源= ['http://source1.com','http://source2.com'], 后卫= 0, someHandler =功能(){ 如果(守卫= sources.length!){回报; } //做一些动作 };
..
我在写一些ActionScript3的code,尝试的方法适用于在运行时确定的对象。 AS3的文档但是,我已发现,在当正在执行的功能是一种方法所有的情况下,第一个参数,以应用/呼叫没有被使用,和“这”始终是指向其中该方法被绑定原始对象。下面是一些例子code和它的输出: 包 { 进口flash.display.Sprite; 公共类FunctionApplyTest扩展Sprit
..
为什么... 键入IntDelegate =委托为int - >单元 键入ListHelper = 静态成员ApplyDelegate(L:INT表)(D:IntDelegate)= 升|> List.iter(有趣x - > d.Invoke X) ListHelper.ApplyDelegate [1..10](有趣x - > pri
..
我学习F#,我不明白灵活的类型,或者更好的目的,我不明白写这之间的区别: 设置TextOfControl(C:控制)S = c.Text< - S 和写的: 设置TextOfControl(C:'T时,'T:>控制)S = c.Text< - S 其中,控制是 System.Windows.Forms.Control的类。 解决方案 。在你的例子没
..