When handling my Algorithm Homework, I found there are no packages providing a simple macro to draw a sorting network in LaTeX. So I spent some time and wrote a macro to help.

You can get the tex code from here(updated below). It is tested under TexLive 2009/Archlinux. A sample sorting network drawn by this code is as follows, which is taken from Figure 27.12, CLRS book 2nd Edition.

This macro requires Tikz, forarray(updated below) and tokenizer packages. But in fact I think only the requirement for Tikz is necessary, and the needs for forarray and tokenizer can be eliminated by using LaTeX primitives.

B.T.W. This is my first LaTeX macro. I am still not familiar with macros in LaTeX and have to remind myself that this is just a macro again and again to get rid of the willing to use variables. Maybe I should do some more improvements to make it a sty file so it can be used like a package. But what ever, it works now and just fits my requirements. So I decide to leave it as it is.

##UPDATE Oct. 15, 2010##

I rewrote the code and removed the requirement for forarray package, because forarray package has a collision on \ForEach command with algorithm2e package. You can get the updated tex file here.

##UPDATE May 8, 2011##

I moved the code to github. You can check it out here.

Advertisements

独自一人背包去张家界和凤凰作为毕业旅行。

在路上经历了不少的坎坷,也曾在农家旅社的院子里和驴友畅谈南北趣闻,见识了在青年旅社公共洗手间里的鸳鸯浴,也在沱江边上抱着啤酒独自惆怅到两岸的灯光全部熄灭。

现在回忆,这一路上也不曾有过什么印象深刻、值得长久铭记的经历。也许一个人背包就是这样,不见得洒脱,但多出的时间可以让人细细品味。

//———————–
1. 张家界山下的金鞭溪

2. 金鞭溪旁照相的mm

3. 每座山上都会有同心锁
4.总的来说,张家界山上还是比较乏味的,因为到处都是一样的景色

5. 凤凰就好玩多了,这是一座美女如云的小城。(来的路上出租车司机说这也是一座充斥着一夜情的小城~)

6. 也是一座充满生活气息的小城。城隍默默注视着这人来人往
7. 做姜糖的师傅。他先把糖块拉成细条,等硬了之后再剪成小块
8. 还有卖蜂蜜的,不过是连着蜂巢一起卖的。我尝了尝发现有股药味,呃~
9. 一个小店里面悬挂的灯笼,晚上很漂亮
10. 夜色下的凤凰更胜白天的喧嚣
11. 这个看似吊脚楼的小屋其实是个酿酒坊
12. 由于前一天晚上下雨,清晨的沱江笼罩在一片水雾之中
13. 对比雾气散去时的沱江

昨天去看了Star Trek。当时被某事所困扰,看电影的时候完全不在状态,以致看完了感觉什么都没看。最后,想啊想啊的某事终于释然一点了,疲惫的大脑重新燃起思维的火花,昨天看的电影一幕一幕重新回到脑海了。
我看Star Wars很长时间了,可以算半个Star Wars的fans,不过Star Wars给我的一点感觉就是整个一个童话故事,好人和坏人都写在脸上。当然,这么说并不意味着Star Wars不好,因为我觉得不能通过一个故事的主题来评价一个故事的好坏。但是,一点点的遗憾总是有的,我想找一个更加成人化一点的故事来满足我小小的驿动的心。
我对Star Trek的第一映像很不好——一群土人穿着傻了吧唧的制服在巨先进的仪器(曲速引擎)和巨过时的仪器(破破烂烂的仪表盘)之间磨叽。不过呢,这个映像是会改变的。只要我们忽略掉拍摄电影/电视时技术因素的禁囿,整个故事还是相当先进的。这里没有绝对的善与恶,每个人/种族不过是被自己的利益或者梦想驱动。(PS:关于这一点讨论得更深刻的是battlestar galactica)不过,不管怎么说,我时常觉得,Star Trek的内核还是在于宣传那种上世纪60年代的乐观精神。也就是说,尽管我们见到太多妥协与软弱,欺凌与不公,我们仍然在为了梦想努力。Boldly go where no one has gone before.
不过,主题如何并不是这个系列我想赞扬的地方。我觉得,Star Trek一个出彩之处在于它很多不起眼之处都设计得很严谨,这是很多科幻故事欠缺的。说它严谨,并不是说其中提到的技术都是可以实现的,都是有非常严格的理论依据的,而是(如mtime上一篇影评所说),如果这个技术可以实现的话,那么它应该就是电影中的这个样子。所以,那个曲速文明不可干预曲速前文明的准则显得非常合理;当一票人计算曲速引擎(Warp Engine)的物理公式或者指出那个物质传递在物理上需要增加一个XX场校正器时我也一点不觉得奇怪。
还有一个很好玩的地方是Star Trek中出现的时空传递,也就是说回到过去去影响未来,无论在电视还是在电影中,这种小东西常常能让人感到奇妙。在这部电影中,年老的Spock回到过去告诉Kirk去和年轻的Spock作朋友,而Spock之所以成为年老的Spock是因为他是和Kirk一起混的,也就是说,年老的Spock回到过去劝Kirk的前提是Spock和Kirk成为了朋友,而Kirk和Spock成为朋友的前提是年老的Spock回到了过去劝了Kirk,那么,在这个循环中,第一个Spock是从哪里来的?难道是飞天拉面神造的么?这种逻辑上合理但是无法从零开始构造出来的结构在整个Star Trek中大量出现,非常有意思。(再PS:我觉得强调时空穿梭的片子中间12 Monkeys是经典,看完之后有种让人想惊呼整部电影就是一个阴谋的感觉)
最后,贴上一个Star Trek中的深空9号(Deep Space 9)空间站的图片,这是我见过的最优雅&惊艳的空间站了,在它面前,其他空间站要不太丑,要不太傻,全都黯然失色。

WolframAlpha上线,无聊跑去看看。用我的生日作为关键字。从搜索出的结果来看,那只是1988年的普通一天,不过当页面翻到最后,显示了那一天的日出、日落时间,那一天的月相时,我突然有一种亲眼看着过去的感觉。那天日出在6:55,我是在5点20左右出生的,当时天色应该还挺暗的吧?当天是上弦月,不知道月亮是不是还在天上?
我出生的医院我也去过,一栋破旧的4层小楼,现在正面装修了一下,看起来好了一点,不过里面环境还是挺破的。我出生在三楼最西边的一个房间,现在这里已经不再是产房了,我也没能进到房间里看一看。
7762天前,天还没有亮,一个破旧的80年代的医院,很多东西在此之后都改变了。