【问题标题】:butterfly network in sorting蝴蝶网络排序
【发布时间】:2013-12-01 06:32:26
【问题描述】:

我正在研究 C++ 中 Robert Sedwick 算法中的偶数合并排序。

作为文本作者的一部分,作者提到了如何使用奇偶合并排序来实现排序网络中的并行排序。在这种情况下,作者提到了蝴蝶网络

我的问题是蝴蝶网络基本上是什么,为什么它被称为蝴蝶。用简单的例子解释将不胜感激。

我已经用谷歌搜索了它,但没有找到简单的示例解释。

【问题讨论】:

标签: algorithm sorting sorting-network


【解决方案1】:

蝴蝶网络是某种sorting network。分类网络可以被视为抽象网络(例如数据流网络)或非常具体的电路。

这些网络由输入和输出线以及一对比较器multiplexers 组成,它们将输入值从一根线路由到另一根线。这是一个并行排序的例子。

来源:Universität Leipzig

在上图中,输入在左侧,输出在右侧, 方框是比较器。这个想法是,您可以在每个输入处放置从 0 到 15 的任意值,然后它们由比较器路由到输出(它检查输入值并决定路由到另一根导线或将其保持在同一根导线上),全部为 0值将被路由到顶部输出(000),所有 1 值到第二个输出(001)等等。

恕我直言,这个名字来源于butterfly graph,例如在Fast Fourier Transform中,这种交叉的数据流就像一只蝴蝶。

来源:Wikipedia

如果您查看蝴蝶网络的第一张图,您会看到它一遍又一遍地重复。

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    相关资源
    最近更新 更多