小编blj*_*vko的帖子

F#停止控制台关闭

可能重复:
F#:此表达式应为"unit"类型,但类型为"ConsoleKeyInfo"

我正在学习F#所以我在VS2010中编写了3行代码,我希望看到结果,但控制台关闭了.System.Console.Read System.Console.ReadKey或类似的命令不起作用.还有其他方法可以阻止控制台关闭吗?

let x = 20
let y = x = 20
printf "is x 20? %d" y
System.Console.ReadKey
Run Code Online (Sandbox Code Playgroud)

console f# visual-studio-2010

15
推荐指数
1
解决办法
7778
查看次数

并行广度优先搜索

我正在比较两种广度优先搜索算法的执行时间差异。平行和非平行。但对于我制作的每张图,非并行版本都比并行版本快 10 倍。

这是并行的广度优先搜索。我不知道问题出在哪里,但我想这个方法中的某个地方:

public static int PBFS(Node start, Node end)
{
    var queue = new ConcurrentQueue<Node>();
    queue.Enqueue(start);

    while (queue.Count != 0)
    {
        bool isFinished = false;
        if (isFinished) break;

        Parallel.ForEach<Node>(queue, CurrentNode =>
        {
            if (queue.TryDequeue(out CurrentNode))
            {
                foreach (Node Child in CurrentNode.Children.Keys)
                {
                    if (Child.IsVisited == false)
                    {
                        Child.IsVisited = true; 
                        if (Child == end) { isFinished = true; return; }
                    }
                    queue.Enqueue(Child);
                }
            }  
            return;
        });
    } return 1;
}
Run Code Online (Sandbox Code Playgroud)

这是非并行 BFS:

public static int BFS(Node start, Node …
Run Code Online (Sandbox Code Playgroud)

c# parallel-processing breadth-first-search parallel.foreach

2
推荐指数
1
解决办法
5260
查看次数