辉爷的高级数据结构开讲了,辉爷V5啊,今天辉爷讲的是位图排序。
问题描述:
•输入
–给出至多10,000,000个正整数的序列
•特征:
–每个数都小于10,000,000
–数据不重复且 数据之间不存在关联关系
•输出:增序输出序列
•约束:
–内存容量1MB
–磁盘空间充足
–运行时间至多几分钟---最好线性时间
解答:
首先回顾下计数排序:
•思想:
–根据待排序中最大的数,开辟一个数组,记录每个整数出现的次数
–遍历一遍待排序的数据(排序的过程)
–顺序输出结果
•要求
–必须提前知道待排序数的最大数
•缺点
–有些数没有出现过,仍要为其保留一个空间
–只能针对整数进行处理
•优点
线性的排序算法
位图排序:
•引入位图排序的原因