所谓的bit-map其实很直观,就是使用一个位来表示元素是否存在。经常用在索引以及数据压缩的方面。下面讲一下使用位图的方式对数组进行排序。
例如:对于数组 { 3, 5 , 4 , 9, 8 } ,需要的位数至少为9+1=10位(第0位表示数字0),即两个字节。因此位图的示意图为:
从第一个字节的第一位算起(我自己的程序是这样定义的),为1即表示改下标数字在数组中存在。
例如在《编程珠玑》中出现的题目:要求对磁盘上的数据进行排序。
由于内存的限制,我们必须在有限的内存中完成排序,将所有的数据直接加载到内存显然是不现实的,很直观的,我们想到的是将数据分为几次分别加入