看淘网
当前位置: 首页> 文章> 优美语段30字

优美语段30字

发布时间:2019-08-11 20:25:05 作者:xhs
优美语段30字:('\n \n \n \n \n fibonacci \n \n正在重新读取bucklescript的官方文档,我被一个我从未想过要实现的fibonacci代码所震惊。当我第一次学习编程时,我仍然记得斐波那契序列,现在我对递归有了新的理解。在这里,我将总结所有值的斐波那契序列实现。如果有任何新知识,它将在文章结尾处更新。\n\nlet me重新学习递归代码(代码是ocaml,稍后我将转换为js)。\nlet fib n=\nlet rec aux n a b等于\n如果n=0,则a \n aux(n-1)b(a+b)在aux n 1 1 1中\n\n此代码将是introdu在后来的JS版本中,非正规递归版本让我从普通递归版本开始,这是我刚学习编程时遇到的很多问题,它向我展示了递归的力量。\n函数fibonacci(n)\n if(n==0)返回零\nelse if(n==1)返回1个e返回n-1的fibonacci和n-2的fibonacci。\n \n \n \n代码优雅而合乎逻辑。但是这个版本的一个问题是有很多重复计算。Fibonacci(4)+Fibonacci(3)+Fibonacci(2)当n等于5时,重复计算Fibonacci(3)+Fibonacci(2)。运行fibonacci(50)半天。\n对于循环版本\n递归有性能问题,因此我们使用循环来完成。\n函数fibonacci(n)\n var last=1 \nvar last2=0 \nvar current=last2 \n对于(var i=1;i<=n;i++)\nlast2=last \n last=current \n current=last+last2 \n \n返回当前版本\n \n \n \n此版本没有重复计数问题,速度明显更快。这并不意味着循环比递归更好。循环的问题是状态变量太多。有四个状态变量(last、last2、current、i)用于实现fibonacci。使用更多的状态变量进行读取并不是那么优雅。\n删除重复计算的递归版本\n本文开头的示例转换为JS版本\n函数fib(n)\n函数fib(n,a,b)\n如果(n==0)返回a \n另一个返回fib(n-1,b,a)+b)\n \n将前两位数字巧妙地转换为参数,避免了重复计算,性能得到了显著提高。n是递减的,前两位数增加(斐波那契增加)。这是一个减量和增加。好吧,我的约定是增加所有内容,让n从0开始到n。\n使用内存函数优化正常递归版本\n正常斐波那契函数是纯函数。纯函数可以用内存函数进行优化,需要重复计算的函数放在缓存中。\n函数memozi(fn)\nvar r=\n返回函数(n)\nif(r[n]=null)\nr[n]=fn(n)\n返回r[n]\n else \n返回r[n]\n \n \n\nvar fibfn=memozi(函数(n)\n如果(n==0)\n返回0 \n否则,如果(n==1),返回1 \n否则\n返回fibfn(n-1)+(n-2)\n \n)这可以在不影响代码本身的优雅性的情况下提高性能。\n休息的懒惰序列\nfibonacci本身是一系列数字,只有无穷大Y大。只需使用一个无限大的“数组”来存储斐波那契\n然而,JS中没有无限数组,因此您需要自己构造一个数组。\n//空序列\nvar empty=“@placeholder@”:“@@”\nvar end=empty \n//仅当需要d由函数\n函数对(a,fn)\n返回\n左:a、\n右:fn \n \n \n函数是函数(p)\n返回对象表示。原型。去缝。call(p)=“[对象函数]”\n \n函数l eft(p)\n返回p.l eft \n \n函数right(p)\n if(isempty(p.r d.light))\n返回p.r d.light \n else if(isfunction(p.r d.light))\n返回p.r d.light(p)\n else \nthrow“序列的第二个参数必须是函数\n \n\函数IsEmpty(Seq)\\nReturn Seq==\u empty \n \\n函数IsarrEmpty(arr)\\nReturn arr.lengt长度=0 \n \ \n \n函数ToArray(Seq)\nif(IsEmpty(Seq))\\nReturn[\n \Else \nReturn[Left(Seq)]Concat(ToArray(Seq(Seq)(右)(右)(ToArray(Seq(Seq)(右)(右\ \n \ \ \n \ \n一个))\nreturn \nreturn \nreturn \n \n \n \n \n功能图(fn,seq)\nif(isEmpty(seq))\nreturn结束\ \n \ \n \nreturn(fn(左)(seq),p=>map(fn,右(seq)))\n \ \n \ \n \ \n;\nif(isEmpty(seq))返回D\n,'3907F9EC33672f47,'XGH9RHW3AW7CFVDEPSGQTmydogq2bFBE',6,else if(n==0 \nRETURN结束\n else \nRETURN对(左(seq),P=>take(n-1,右(seq))\n \ \n \ \n \n功能zip(fn,seq1,seq1,seq2)\if(isEmpty(seq1))\ \123 \nRETURN RETURN end \n if(isEmpty(seq2))\n返回\n结束\n其他\nvar l1=左(seq1 \nvar l2=左(seq2 \n返回对(fn(l1,l2),p=>zip(fn,右(seq1),右(seq2)))\n \n \n \nvar fibonacci=对(0,p=>pair(1,p1=>zip((a,b)=>a+b,p,p1)))\n \n \n您可以在控制台上运行toarray(take(20,fibonacci))以查看输出。如果你运行toarray(取(30,fibonacci)),你必须等待结果出现。在这段代码中,每个函数的代码行数只有几行,最好看代码分析,而不是多余的文本解释。\n这种懒惰的fibonacci也有性能问题,就像在第一个递归版本中一样,在第一个递归版本中有大量的重复计数,这是最严格的ghforward解决方案是缓存计算的值,而不是重新计算这些值。\n lazy sequence optimized version \n//空序列\nvar empty=“@placeholder@”:“@”\nvar end=empty \n//仅在需要时计算构造惰性序列的值,并由函数i表示。打开\n函数对(a,fn)\n返回\n左:a,右:fn。\n右缓存:空\n \n \n函数是函数(p)\n返回对象。原型。去缝。call(p)=“[对象函数]”\n \n函数左(p)\n返回p.l eft\n \n函数右(p)\n if(isEmpty(p.r d.light))\n返回p.r d.light\n else if(isFunction(p.r d.light))\nif(p.r l ightcache!=null)\nreturn p.r-ightcache\n els \np.r-ightcache=p.r d.ligd(p \nreturn p.r-ightcache\n \n \n els \nthrow“序列的第二个参数必须是一个函数\n \n \n \n函数isEmpty(seq)\\nreturn return seq=123; \\nreturn \ elEmpt \n \n一个\ toarray(seq)\n函数toarray(seq)\nReturn[]\n else \nReturn[左(seq)]concat(toarray(seq)(右\n \n \n函数toseq(arr)\nif(isarrempty(arr))\ \n \n \n函数toseq(arr)(arr))\ \n \n \n函数toseq(arr(arr)\n(arr)\n(arr)\n函数映射(fn,seq){\ if(isEmpty(seseq))\nReturn \nReturn end \n else \nReturn对(fn(左)(seq),p=>map(fn,右(seq)))\n \n \n函数take(n,seq)\nif(isEmpty(seq))\\nReturn _end \ \n \ \123; \\123;右(seq)))\n \n \n\n funununun函数zip(fn,seq1,seq1,seq2)\n if(isEmpty(seq1))\nreturn _end \n;else if(isEmpty(seq2))\nreturn _end \n els \nvar l1=左(seq1 \nvar l2=左(seq2),n返回对(fn(l1,l2),p=>zip(fn,右(seq1),右(seq1),右(seq2)))\n \ \n \ \n \nreturn \=>对(1,p1=>拉链((a,b)=>a+b,p,p1)))\n \n \n调用ToArray(take(30,fibseq))比以前的版本提供了定性速度改进。超链接单击此处联机运行代码\n ure arrow函数版本\n在某些苛刻的条件下,使用匿名函数实现fibonacci函数,上面提到的正常递归版本如下所示:\nlet fib=n=>n>1?fib(n-1)+fib(n-2):n \n \n \n如果去掉fib的名称,就得到匿名版本,但是如果去掉fib,就不能递归地称呼自己。事实上,它可以间接地自称。代码如下:(注意:我不知道如何描述它。)\n(f=>n=>n>1?f(f)(n-1)+f(f)(n-2):n)(f=>n=>n>1?f(f)(n-1)+f(f)(n-2):n)(10)\n\n\n返回55。使用f整齐地表示剪切函数本身\nhyperlink联机运行上述代码\n y combinator+arrow version \n跟踪上述箭头函数调用本身是y combinator \nlet y=f=>(g=>f(a=>g(g)(a))(g=>f(a=>g(g)(a))\n \n \n不能将snip函数version写入f此代码\ny(f=>n=>n>1?f(n-1)+f(n-2):n)(10)\n \n \nf用于箭头函数本身,您可以使用f.hyperlink联机运行上述代码“,”3907f9ec33672f47“,”xgh9rh3aw7cfvdepsgqtmydogq2bfbe“,6)优美语段30字
蜜小助-恋爱/撩妹聊天必备神器
蜜小助App

内置20W+恋爱聊天话术

一键复制解决尬聊话题

相关推荐
喜欢的女生喜欢白色,要送什么礼物给她 什么是互补型爱情 女生说自己胖了,高情商都这么回复! 女生说自己胖,要怎么高情商回复
热门推荐
1
口述:公公在梳妆台上给我数次高潮
口述:公公在梳妆台上给我数次高潮

我与老公结婚三年了,老公是个特别老实的男人,平时很听我的话,也很疼爱我。我是一个快要30的女人,一个普通的白领,都说这个年纪的女人如狼似虎,一点都没有说错。脱去了20岁懵懂的天真,现在的我对夫妻生活的要求真的越来越多了。老公是一位公司主管,平时工作特别忙,而且经常因为业务需要出差,就是晚上能够按时回来,基本上都觉得一天的工作太累,而我们夫妻之间的亲密事让他有些力不从心。我不得不说,综合各方面来说,...

2
二宮琴美、東熱出操翻白眼昏死
二宮琴美、東熱出操翻白眼昏死

昨天才藉著「白鳥真衣」(宮沢まき)的狀況說明了現在東熱的困境,今天筆者再介紹另一位已經被辨識出身分的「二宮琴美」老調重談,看看東熱近來的餌食有多「菜」吧:她是才剛被發表、演出「鬼逝」的新鮮餌食,所謂的「鬼逝」意思很簡單,就是「把妳幹到死」,所以除了男優演出會格外粗暴外女優也會被搞到「再起不能」,而這...

3
那个午夜 禽兽继父将我压在身下
那个午夜 禽兽继父将我压在身下

我是爸妈的私生女,他们谈恋爱的时候,意外怀孕生下了我。后来,爷爷奶奶死活不同意爸爸娶我妈妈。妈妈说,如果我是个男孩就好了。你要是个男孩,你爷爷肯定不会让你爸爸抛弃我们。最后,爸爸给了妈妈一笔钱,相互拥抱着,哭了一夜,就分开了。妈妈坚持把我生了下来。不久,就听说爸爸和别的女人结婚了。两年以后,妈妈带着我嫁给了一个出租车司机。继父比我妈妈大5岁,很老实,对我不错,就像对自己的亲生女儿一样。当然,他还没...

4
韩国美女主播”钟淑”高清视频精品合集9部 115网盘在线观看
韩国美女主播”钟淑”高清视频精品合集9部 115网盘在线观看

第一次看到韩国美女主播的视频,是两年前在同事电脑上看到的,那是一部朴妮唛的直播视频。当时给我的感觉就是眼前一亮,感觉这身材和脸蛋能够秒杀很多当红明星啊!后来才知道她叫朴妮唛,韩国人。也关注过一段时间,搜集了一些视频,同时了解到韩国有很多像朴妮唛这样的美女主播。后来慢慢的会搜集一些这样的视频,可是基本...

5
店长推荐作品 EMP-001 EMPIRE Vol.1 50 波多野结衣 50连发泼溅中 2012年
店长推荐作品 EMP-001 EMPIRE Vol.1 50 波多野结衣 50连发泼溅中 2012年

店长推荐作品EMP-001EMPIREVol.150波多野结衣50连发泼溅中2012年度亚洲无码最佳A片第一名

6
留守女人和禽兽公公的不伦性事
留守女人和禽兽公公的不伦性事

我结婚一年多了,非常郁闷,整天提心吊胆的,原因是老公刚转成自愿兵未能复员。现如今我和公公两人生活在家,很不习惯,也很为难。其实公公这个人挺好的,只是孤男寡女长期这样子住在一起,不管别人如何评论,自己也总觉得不得劲儿。今年我23岁了,比老公还大1岁。嫁他时就是公公说的媒。公公是我们学校的会计,在这里工作10多年了,口碑蛮不错,是个老好人,我是前年毕业后被派遣到这里来实习的。我家在农村,父母都是老实巴...

最新推荐
吵架先认错感觉没备注
吵架先认错感觉没备注
2023-10-20
男生想要的安全感是什么样的
男生想要的安全感是什么样的
2023-10-16
喜欢的女生喜欢白色,要送什么礼物给她
喜欢的女生喜欢白色,要送什么礼物给她
2023-10-08
什么是互补型爱情
什么是互补型爱情
2023-10-08
女生说自己胖了,高情商都这么回复!
女生说自己胖了,高情商都这么回复!
2023-09-28
女生说自己胖,要怎么高情商回复
女生说自己胖,要怎么高情商回复
2023-09-22
热点推荐