算法 之 位图排序 bit-map sort

位图排序是一种利用位操作进行排序的方法,适用于数据无重复且内存有限的情况。通过设置位图,标记数组中每个元素的存在状态,减少磁盘与内存的数据交换。文章介绍了两种位图排序实现版本,并探讨了位图在数据压缩和索引中的应用,以及与布隆过滤器的关系。
摘要由CSDN通过智能技术生成

所谓的bit-map其实很直观,就是使用一个位来表示元素是否存在。经常用在索引以及数据压缩的方面。下面讲一下使用位图的方式对数组进行排序。

例如:对于数组 {  3,   5  ,   4   , 9,  8 } ,需要的位数至少为9+1=10位(第0位表示数字0),即两个字节。因此位图的示意图为:


从第一个字节的第一位算起(我自己的程序是这样定义的),为1即表示改下标数字在数组中存在。


例如在《编程珠玑》中出现的题目:要求对磁盘上的数据进行排序。



由于内存的限制,我们必须在有限的内存中完成排序,将所有的数据直接加载到内存显然是不现实的,很直观的,我们想到的是将数据分为几次分别加入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值