小编use*_*614的帖子

Haskell,算法和学校

我开始怀疑我的Haskell和函数编程的计划是否通过使用Haskell进行我的下一个算法课程是一个很好的计划.

为了得到一些Haskell线,我开始尝试实现一些简单的算法.第一:稳定婚姻问题的Gale-Shapley.尚未进入monad,所有可变状态看起来令人生畏,所以我使用稳定匹配的表征作为半匹配点阵上映射的固定点.它很有趣,但它不再是Gale-Shapley而且复杂性不是很好(晶格中的那些链条显然可以很长:)

接下来我有平面中最近点对的算法,但是我坚持得到通常的O(n*log n)复杂度,因为我无法弄清楚如何用O(1)获得类似于集合的数据结构)检查会员资格.

所以我的问题是:一般可以实现大多数算法,例如.Dijkstra,Ford-Fulkerson(Gale-Shapley!?)如果能更好地掌握Haskell和函数式编程,那么从程序实现中获得复杂性?

haskell

11
推荐指数
1
解决办法
3298
查看次数

autocmd模式匹配文件名和路径的一部分

我试图通过打开一个包含test/和以文件名结尾的路径的新文件来触发自动cmd Test.java.读入:h autocmd-patterns我无法弄清楚是否只有有限的模式可以用作auto-cmd中的文件模式,或者我是否只是对我的模式做错了.以下工作用于匹配以.结尾的任何文件.java

autocmd! BufNewFile *.java
 \ "command implemented !
Run Code Online (Sandbox Code Playgroud)

现在,我尝试将新文件与包含/test/和以文件名结尾的路径进行匹配,Test.java通过以下内容及其衍生物

autocmd! BufNewFile */test/*Test.java
 \ "command implemented !
Run Code Online (Sandbox Code Playgroud)

如何在文件test/夹和文件名结尾的所有文件中触发autocmd Test.java.例如,它应该在执行时触发

$ vim code/algos/graphs/test/KruskalTest.java
Run Code Online (Sandbox Code Playgroud)

vim autocmd

7
推荐指数
1
解决办法
3407
查看次数

在Vim中从autocmd插入模式

我正在尝试创建一个自动命令,它将为新的Java源文件创建样板评论和代码.作为一个简单的开始,我在我的.vim/ftplugin/java.vim中添加了以下两行(仅在实际文件中的第一行之后的新行):

autocmd BufNewFile *.java
\ exe "normal O/*\r" . expand('%:t') . "\t" . strftime("%B %d %Y") . 
"\r/\r\rpublic class " . expand('%:t:r') . " {\r\t\<Esc>i"
Run Code Online (Sandbox Code Playgroud)

对于最后一部分,\t\<Esc>i我试图插入一个选项卡并自动切换到插入模式.我不能让插入模式工作的开关,并尝试两种或两种以上的不同排列\<Esc>,\<Insert>,"insert",i\t.我错过了什么?我在Linux上使用VIM 7.2.

vim

4
推荐指数
1
解决办法
1569
查看次数

类型变量和参数的定义

我正在使用Java语言规范第三版阅读Java中的泛型.在" 4.6擦除 " 部分中,定义了擦除类型.关于类型变量的擦除,它说

类型变量(第4.4节)的擦除是其最左边界的擦除.

这使我对类型变量类型参数之间的区别感到困惑,因为" 4.4类型变量 "部分具有以下定义:TypeParameter: TypeVariable TypeBound其中bound是可选的.但是,也许你可以认同它出现在因为类型变量只能(?)出现在一个"背景"的类型参数,然后一个类型变量类型变量最左边的约束被定义为最左边的束缚其相应类型的参数或公司Object在case类型参数中是否没有显式绑定?

java generics definition

4
推荐指数
1
解决办法
945
查看次数

标签 统计

vim ×2

autocmd ×1

definition ×1

generics ×1

haskell ×1

java ×1