摘要: 问题:如果要你用最小的空间,将一个正整数序列{1,2,3,5,8}排序。在N的复杂度内完成,你会怎么做?注意到木有:该正整数序列全部为非负数,且无重复元素这里,介绍一种新的思路:用位图或位向量来表示集合。在本图中,我们可以用9个bit来表示所有小于9的非负整数集合。上图:咦?你不是说了是用位来存储的吗?位不是只有0和1两个状态吗,嗯,是的。所以,实际的存储状态是(上面的图只是为了让大家看得更直观):嗯,说白了,申请的这九个位,从左到右分别要存储:[0,1,2,3,4,5,6,7,8]。如果该数字在在,则将相应位置为1,否则,置0。1)用BitMap实现的排序: /** * @pa... 阅读全文
posted @ 2012-01-12 17:21 blue-cherry 阅读(1896) 评论(2) 推荐(2)