算法

  • 里德-所罗门编码(Reed-Solomon Codes)

    简介 里德-所罗门编码是一种纠错码,被广泛使用在通信领域。主要原理是在传输数据的同时,也传输一定量的校验信息,当传输出现少量错误时,可以用这些信息恢复出原信息。 必要知识 群,环,域 参考相关资料,不作详述。 线性分组码 所谓分组,就是将长度待传输串分成个长度的串(),将每个长度的串分进行编码,得到长度编码后的串(),再以一定的规则连接起来进行传输。分组并不是编码的一部分,在编码前可以以任意方式进 […]

  • 双调排序

    双调排序是一种并行排序算法,如果以串行的方式运行,其复杂度为,相对地,如果有个可同时运行的线程,则复杂度为。 首先介绍双调序列。所谓单调序列,就是指一个递减或者递增序列,而双调,就是将两个长度相同,单调性相反的序列连接起来的序列,如果画成图形就是以下两种序列: 对于这样一个序列,可以设计一个输入和输出个数为的排序网络,对个数进行排序,其网络结构如下: 这个网络共有16个输入,其中每一条连线代表一次 […]

  • Earth Mover's Distance —— 推土机距离

    Earth Mover's Distance,推土机距离,简称EMD,用来表示两个分布的相似程度,在计算机中经常用到。下面以计算机中常见的离散分布举例。 在维空间中,某个分布由向量集合给定:。其中代表空间中一个点,代表这个点的权值,可以是任意正整数,取决于这个离散分布的精确程度。在这个空间中定义两点间的距离,一般使用欧氏距离,即。 所谓“推土机距离”,就和“推土机”稍微有些联系。如果将分布看做空间 […]