Levenshtein在C#和F#中的实现.对于两个大约1500个字符的字符串,C#版本快10倍.C#:69 ms,F#867 ms.为什么?据我所知,他们完全一样吗?无论是Release还是Debug构建都无关紧要.
编辑:如果有人来这里专门寻找编辑距离实施,它就会被打破.工作代码在这里.
C#:
private static int min3(int a, int b, int c)
{
return Math.Min(Math.Min(a, b), c);
}
public static int EditDistance(string m, string n)
{
var d1 = new int[n.Length];
for (int x = 0; x < d1.Length; x++) d1[x] = x;
var d0 = new int[n.Length];
for(int i = 1; i < m.Length; i++)
{
d0[0] = i;
var ui = m[i];
for (int j = 1; j < n.Length; j++ )
{ …Run Code Online (Sandbox Code Playgroud) F#派生自OCaml,但缺少或添加了哪些主要项目?具体来说,我很好奇可用于学习OCaml的资源是否对想要学习F#的人有用.
我想使用pip在Mavericks上安装PIL,但是会出现此错误.
_imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found
#include <freetype/fterrors.h>
^
1 error generated.
error: command 'cc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)
我的命令行工具已安装并且是最新的,我发现的每个提示都没有帮助.我该如何编译?
编辑:我刚刚检查过,freetype也已经通过自制软件安装了
我正在使用NetBeans和谷歌浏览器进行C hrome调试教程.包括扩展在内的所有内容似乎都能正常工作,但是当我进入section时Use the Debugger,我看不到html代码插入断点.
在浏览器上选择了inspect popup后,它会在Console中打开,什么都不显示,Elements会显示popup.html并添加了图像.当我转到Sources时,可以打开文件popup.html,但唯一的第1行是空白.如果我打开js文件,js文件就在那里并且可以编辑(断开指向).
对不起 - 可能是基本的东西,但我对此并不是很有经验.我已经尝试重新加载并刷新一切.
后续行动:通过进入location.reload(true)控制台提示符,popup.html文件变为Source!为什么?不知道.
我希望这可以节省一些人在我磕磕绊绊的一整天.
拿下面的代码:
private void anEvent(object sender, EventArgs e) {
//some code
}
Run Code Online (Sandbox Code Playgroud)
以下有什么区别?
[object].[event] += anEvent;
//and
[object].[event] += new EventHandler(anEvent);
Run Code Online (Sandbox Code Playgroud)
[UPDATE]
显然,两者之间没有区别......前者只是后者的语法糖.
对于二叉树:没有必要考虑树节点值,我只对具有'N'节点的不同树拓扑感兴趣.
对于二进制搜索树:我们必须考虑树节点值.
执行docker version返回以下结果.
C:\Projects> docker version
Client:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.3
Git commit: d8d3314
Built: Tue Nov 1 03:05:34 2016
OS/Arch: windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Run Code Online (Sandbox Code Playgroud)
运行诊断程序会产生以下结果:
C:\Projects> wget https://github.com/Microsoft/Virtualization-
Documentation/raw/master/windows-server-container-tools/Debug-
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex
Checking for …Run Code Online (Sandbox Code Playgroud) 有许多片段详细说明了Erlang中解析变换过程的各个部分,但是我没有发现从动机到执行的完整覆盖.是否有一个很好的教程,我在某处遗漏了,如果有的话,它在哪里可以找到?
出于好奇,我试图使用C#生成尾调用操作码.Fibinacci是一个简单的,所以我的c#示例如下所示:
private static void Main(string[] args)
{
Console.WriteLine(Fib(int.MaxValue, 0));
}
public static int Fib(int i, int acc)
{
if (i == 0)
{
return acc;
}
return Fib(i - 1, acc + i);
}
Run Code Online (Sandbox Code Playgroud)
如果我在发布中构建并在没有调试的情况下运行它,我就不会出现堆栈溢出.在没有优化的情况下调试或运行它,我确实得到了堆栈溢出,这意味着尾部调用在发布时具有优化功能(这是我的预期).
这个MSIL看起来像这样:
.method public hidebysig static int32 Fib(int32 i, int32 acc) cil managed
{
// Method Start RVA 0x205e
// Code Size 17 (0x11)
.maxstack 8
L_0000: ldarg.0
L_0001: brtrue.s L_0005
L_0003: ldarg.1
L_0004: ret
L_0005: ldarg.0
L_0006: ldc.i4.1
L_0007: sub
L_0008: ldarg.1
L_0009: ldarg.0
L_000a: …Run Code Online (Sandbox Code Playgroud) 关于在何处使用标签与节点属性与关系+节点的任何经验法则.
让我们举个例子,说我有一个商店,我想把我的产品放在neo4j中.他们的标识符是产品sku,我也希望对它们进行分类,就像这个是衣服,食品,电子产品,你就明白了.我将在我的图表上进行免费搜索,就像用户可以搜索任何内容一样,并且我将返回与该搜索字符串相关的所有内容.
使用会更好吗:
sku 001,我会标记它的标签Food.sku 001,并在此节点上有属性调用category:"Food"sku 001,我将为其创建另一个节点Food,并将创建一个" category" 关系来关联它们.我已经读过,如果你要查找属性,最好将其作为关系+节点,因为遍历比查找节点属性要快得多.
TIA