10G整数文件找出中位数或者第K大数

mac2022-10-07  60

将10G整数分成2G读5次,读入内存中,每个数组归入对应的桶中: 1)将int分为4Byte,取最高8位,分成256个桶(0-255) 2)获取每个整数的高8位,归入对应的桶中 3)读完2G,将255个桶数据放入磁盘中 4)依次读完10G整数文件针对0-255个桶,从0开始累加桶中数据size,找出中位数所处的桶 计为k1桶将k1桶中整数,按照次高位放入0-255个桶【1)-4)】,找到对应的次高位桶k2k2桶中数字,同理找到次低位中桶k3k3桶中数字,可以直接快排,找出对应数字
最新回复(0)