12 2009 档案

出栈序列研究
摘要:作者: John Waken邮箱: JohnWaken@163.com转载请著明: http://www.cnblogs.com/john-d/archive/2009/12/29/1635161.html在学习数据结构的时候,老师出了这么个题目:1,2,3,4,5,6,7这七个数按顺序入栈,出栈序列有几种?当时我是先画了几个,比如1,2,3,4,5,6,7肯定可以,还有7,6,5,4,3,2,1... 阅读全文

posted @ 2009-12-29 16:32 John Waken 阅读(5782) 评论(6) 推荐(2)

POJ-1804 Brainman
摘要:1804和2299一样是求逆序数的,用二路归并排序求解。 阅读全文

posted @ 2009-12-26 17:16 John Waken 阅读(251) 评论(0) 推荐(0)

POJ-1007 DNA Sorting
摘要:此题也是关于逆序数的,当然可以用归并排序的方法,但是我注意到服务器提供的数据量较小,最普通的方法应该都可以通过,所以就用了个逐个比较求逆序数的算法,然后再用直接插入排序把DNA按逆序数大小排列起来,最后输出。果真AC了,哈哈!源码如下:[代码] 阅读全文

posted @ 2009-12-26 17:01 John Waken 阅读(448) 评论(0) 推荐(0)

POJ-2299 Ultra-QuickSort
摘要:题目实质是求一个序列的逆序数,用归并排序附带求出逆序数。具体算法就不说了,可以Google出很多。只是在POJ提交时要注意栈溢出:因为序列中最多有500000-1个数,所以我们要用数组int a[500001]来保存。但是千万小心,这个数组不能定义在main函数中,要搞成全局变量。可以参考某网友的解答: http://www.slyar.com/blog/poj-2299-c.html 阅读全文

posted @ 2009-12-26 16:13 John Waken 阅读(453) 评论(0) 推荐(0)

POJ-1455 Crazy tea party
摘要:解析: 为使题目保持简单,我们取个特例,5个人。从中任取一人给他赋一个标号1,然后从他沿逆时针方向一次给游戏者编号,这样我们就得到一个序列 (1) 1 2 3 4 5要使左边的人到右边去,右边的人到左边去,那么下面的序列肯定满足条件 (2) 5 4 3 2 1由序列(1)变为序列(2),做相邻交换的最少次数正好是(2)的逆序数。由于该序列是环形的,所以下面的序列肯定也符合条件 (3) 4 3 2 ... 阅读全文

posted @ 2009-12-26 13:53 John Waken 阅读(579) 评论(0) 推荐(0)

MMIX机器简要介绍
摘要:学计算机的应该听过Don Knuth的大名吧,他的七卷本著作《the Art of Computer Programming》的第四卷的草稿也出来了。Knuth大神计划在完成第五卷后重新修订一、二、三卷,届时上面的程序就不会用MIX汇编了,而是用MMIX汇编。别看仅仅是多了个M,这差别可大了,MIX和MMIX可以说是完全不同的机器,MIX设计于六十年代,当时计算机体系结构与今日大不相同,如果你看过... 阅读全文

posted @ 2009-12-06 16:36 John Waken 阅读(7237) 评论(6) 推荐(0)

自己动手写虚拟机
摘要:这学期上了《编译原理》这门课。什么感觉呢,既机械又灵活。 前端技术理论性很强,算法固定,甚至可以使用lex,yacc这类的工具自动生成。但如果是你自己来设计一个语言,你会设计什么样的语法和语义呢,如Lisp那样简洁而强大,还是如C++那样复杂而强大呢?反正我是无从下手。 后端技术比前端复杂,不过也有很多工具可以利用,比如GCC的后端和伊利诺伊斯大学开发的LLVM,好像Google的go语言的后端用... 阅读全文

posted @ 2009-12-05 20:45 John Waken 阅读(19994) 评论(23) 推荐(1)

导航