双调排序
双调排序是一种并行排序算法,如果以串行的方式运行,其复杂度为$$O(n\log^2n)$$,相对地,如果有$$n$$个可同时运行的线程,则复杂度为$$O(\log^2n)$$。 首先介绍双调序列。所谓单调序列,就是指一个递减或者递增序列,而双调,就是将两个长度相同,单调性相反的序列连接起来的序列,如果画成图形就是以下两种序列: 对于这样一个序列,可以设计一个输入和输出个数为$$2^k$$的排序网络 […]
双调排序是一种并行排序算法,如果以串行的方式运行,其复杂度为$$O(n\log^2n)$$,相对地,如果有$$n$$个可同时运行的线程,则复杂度为$$O(\log^2n)$$。 首先介绍双调序列。所谓单调序列,就是指一个递减或者递增序列,而双调,就是将两个长度相同,单调性相反的序列连接起来的序列,如果画成图形就是以下两种序列: 对于这样一个序列,可以设计一个输入和输出个数为$$2^k$$的排序网络 […]
Earth Mover’s Distance,推土机距离,简称EMD,用来表示两个分布的相似程度,在计算机中经常用到。下面以计算机中常见的离散分布举例。 在$$k$$维空间中,某个分布由向量集合给定:$$\{<x_{i1},x_{i2},…,x_{ik},w_i>|1 \leq i \leq n\}$$。其中$$<x_{i1},x_{i2},… […]
Java Swing的默认主题很丑,有时候我们想让它和Windows或者Linux主题一致,这样看起来和Windows或Linux的窗体一样。 要完成这件事其实很简单,只需要在主函数中加入如下代码即可:
1 2 3 4 5 |
try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception e) { e.printStackTrace(); } |
C语言提供了三种调用函数的方式:cdecl,stdcall和fastcall。cdecl是标准的C语言调用函数的方式(C declared);stdcall是大多数链接库中使用的调用方式,比如Windows API,JNI API等等;fastcall顾名思义,就是说它调用起来比较快。这三种方式在C语言编写中几乎没有任何差别,但对应了不同的底层实现。 要使用这三种调用函数的方法,需要在函数声明和定 […]
CS —— 代码段寄存器(Code Segment) SS —— 栈段寄存器(Stack Segment) DS —— 数据段寄存器(Data Segment) ES —— 扩展段寄存器(Extended Segment) FS,GS —— 数据段寄存器 EAX —— 累加寄存器(Extended Accumulator Register) ECX —— 计数寄存器(Extended Counte […]
前段时间有需要用到生成GIF动画的地方,搜索了一下,但是并没有发现有库来做这件事情,见得比较多的是由Kevin Weiner编写的AnimatedGifEncoder.java。其作者授权所有人可以以任何方式使用这份代码,但是需要注意代码中所使用的LZW算法由Unisys掌握专利权。不过鉴于此专利在2006年就已经在大部分国家及地区过期了,所以现在应该可以放心地使用了。 AnimatedGifEn […]
当初建这个小站,主要是为了写点东西,发点感想。但是在近一个月的时间里,这个站点除了默认的Hello, world!文章以外什么都没有,实在是很惭愧。今天忍不住要来写点东西,那就写一写最近的发现吧。 以前常觉得计算机是个很大的领域,编程只是其中很小的一部分,学通这一部分是比较容易的。只要精通了一门编程语言,那么其他的便可融会贯通。最近发现这个想法是错的,编程之术也像一片海洋,值得探索的地方颇多。 以 […]