2007年2月25日星期日

排序

sun的官方实现:
private static void sort1(int x[], int off, int len) {
// Insertion sort on smallest arrays
if (len < i="off;" for="" int="" j="i;">off &&amp; x[j-1]>x[j]; j--)
swap(x, j, j-1);
return;
}

// Choose a partition element, v
int m = off + (len >> 1); // Small arrays, middle element
if (len > 7) {
int l = off;
int n = off + len - 1;
if (len > 40) { // Big arrays, pseudomedian of 9
int s = len/8;
l = med3(x, l, l+s, l+2*s);
m = med3(x, m-s, m, m+s);
n = med3(x, n-2*s, n-s, n);
}
m = med3(x, l, m, n); // Mid-size, med of 3
}
int v = x[m];

// Establish Invariant: v* (v)* v*
int a = off, b = a, c = off + len - 1, d = c;
while(true) {
while (b <= c && x[b] <= v) { if (x[b] == v) swap(x, a++, b); b++; } while (c >= b && x[c] >= v) {
if (x[c] == v)
swap(x, c, d--);
c--;
}
if (b > c)
break;
swap(x, b++, c--);
}

// Swap partition elements back to middle
int s, n = off + len;
s = Math.min(a-off, b-a ); vecswap(x, off, b-s, s);
s = Math.min(d-c, n-d-1); vecswap(x, b, n-s, s);

// Recursively sort non-partition-elements
if ((s = b-a) > 1)
sort1(x, off, s);
if ((s = d-c) > 1)
sort1(x, n-s, s);
}

2007年2月1日星期四

丢谁的人

Google又惹事了。这一次是一个叫佛祖也淫笑的热血愤青惊异地发现,在GoogleEarth里面沈阳的地名变成了日文,而且标注的都是伪满时期使用的地名。一石激起千层粪,这个消息引来了网上又一波对小日本的鄙视和攻击,同时也引发了又一轮gfans和百度拥趸的对战。

其实愤青们应该理性地想想这事,究竟是谁在丢人,丢谁的人。

我 们知道,googleearthcommunity是GE里面一个开放编辑的图层,任何人都有权限进行任何标注,从网易的报道来看,显然,记者对这种编辑 方式是颇有微词的:“想标啥就标啥,没人监管”“自由标注,没有限制”“日本人还在不断标准沈阳地图”“Google事先未审核”。言下之意,这种开放编 辑是不负责任的,GE的运行方没有能够有效的限制使用者的编辑,没有尽到事先审查的责任,所以这次沈阳标注日文地名事件,应该由捣乱的日本网友和未尽审查 义务的google共同承担责任。

毫无疑问,网易的这位编辑仍然生活在我贴你看的门户网站时代,他并不能理解,开放式编辑的网站不过是网民表演的一个舞台,是闹剧,悲剧还是喜剧,抑或是荒诞剧,这一切完全取决于网民个人。

维基百科里, 我们见过太多乐于自取其辱的白痴了,曾经有一个天文学爱好者,他不能忍受其他任何人修改他撰写的内容,在与其他网友以及管理员发生多次冲突之后,此人启动 了自编的机器人程序,对维基百科发动了灌水式攻击,我们知道了,这是一个极端自负自私的人;另有一个网友,剽窃了他人拍摄的照片,放在自己的用户页,并且 留言“谁删我跟谁急”,于是我们知道了,这是一个漠视著作权的人;还有一个网友,在与中文维基百科几乎所有的管理员都发生过争执之后,他跑去英文维基百科 告状了,他说中文维基百科的所有管理员被某党收买,死心塌地的做了某党的走狗,还好外国人没有他想象的那么愚蠢,英文的管理员直接封掉了他的帐号,于是我 们知道了,这孙子是一个卑鄙无耻的人。

太多的经验告诉我们,越是开放编辑的网站,越不怕无聊无知无耻的小白来捣乱,小白越捣乱,现得眼越大。

回 到GE,我们以最坏的恶意去揣测这些为沈阳标注伪满时代地名的日本人:他们是一群不折不扣的日本右翼分子,对中国怀有最大的敌意,以这种意淫的方式来恢复 日本对中国东北的殖民统治。那么他们这么做,究竟是在丢谁的人,现谁的眼?丢人现眼的恰恰是这些没有教养的日本人自己,google earth 为全世界网民提供了一个开放的空间,人家都在好好利用这个空间,做自己该做的事,只有这伙无聊的日本人,以伤害别国人民的感情为乐,把自己那见不得人的意 淫展示在全天下网民的面前。试想全世界的网民看到这伙日本人的表演之后,真的会以为,今日的沈阳就是当年的奉天吗?绝对不会,每一个正直的人,都会由衷地 鄙视这些捣乱的日本小白,他们充分地表演,侮辱的是只是他们自己,丢他们自己的人,现日本人的眼!既然他们愿意在大庭广众之下裸身卖弄,我们又着什么急 呢?让他们充分表演去吧

可是我们的愤青们的表现,实在太令人失望了,在牛博有个傻逼说:

Re: Google Earth竟用伪满洲国地图?——傻逼FQ又有攻击


囸 @ 2007-1-31 14:28:06 引用
keyhole不过是个社区。

而且自定义共享地标是个非默认图层。。

和google有JB关系啊!!!

不服气你们也去改日本的地标啊。。。我就把日本的靖国神厕标注为厕所。。也显示的啊。。人家日本就没有要求google什么的道歉

怎么对自己民族那么不自信。。。也太脆弱了吧。。。坚强点

乖乖,您还是歇歇吧,比那帮小日本儿还丢人!

转载自 相空间

2007年1月19日星期五

rails1.2正式发布

rails1.2正式发布了,restful、更好的utf8支持,一定要抽时间好好研究一下了。争取找时间做点东西出来玩玩。

官方发布消息:这里

prototype1.5.0正式发布

请注意,这才是真正的正式发布。官方网站也搬家了:http://www.prototypejs.org

看ajaxian上很多人都评价说"Too little too late",这段时间prototype丢了很多人气啊。

2007年1月17日星期三

domQuery VS. jQuery VS. prototype

由于jQuery1.1的发布,我才注意到jQuery和yui-ext/domQuery的作者针对 它们提供的dom选择器的性能爆发了一场论战。具体情况看他们的blog:这里这里
他们的dom选择器功能都很全面,提供基于css selector和部分xsl的选择器。由于看不起prototype这部分功能的不完善(可怜啊),根本没有把它加入测试。所以我干脆自己测了一下,直接说结果:
性能排列 domQuery0.40>jQuery1.1>prototype1.5.0RC2>jQuery1.04
domQuery的性能确实很好,在很多测试项上速度确实达到了新版jQuery的3倍甚至更多。jQuery的新版本也确实在很多项目上速度比老版本提高了数倍。让我觉得不可思议的是prototype,性能比老版本的jQuery也仅是高一点点而已。

结论:prototype的$$功能不全、性能不佳,要慎用。如需复杂的dom查询,domQuery(性能极好,文档也不错)与jQuery1.1(文档极好,性能也可以接受)都是很好的选择。

这里是测试页面