zoukankan      html  css  js  c++  java
  • 基于LLVM的海量数据排序算法研究。(二维表的排序算法)

    当待排序数据内容大于内存容量时,需将待排序内容分块,要进行排序的分块传入内存,未处于排序状态的存入外存,
    外存的读写时间是内存的百万倍,因此在内外存储器之间传输分块所消耗的 I/O 时间是大数据排序算法中影响性能
    的主要因素。
    本课题使用的排序算法,需要对待排数据进行多次遍历,一方面使内存使用率提高,
    但 I/O 操作数,即影响排序时间的主要因素大大减少,在数据量较大时,可明显
    达到减少总排序时间的目的。

    在以海量数据为主要研究对象的领域中,二维表排序操作更是海量数据处理
    技术的一个重要步骤。对于一个 m 条记录二维表,我们讨论 3 种排序算法。取其
    中的 n 个列作为排序关键字,按照排序的优先等级(k 1 ,k 2 ,...,k n )组成 m*n 的待
    排二维数组。
    顺序排序:
    类似一维数组的交换排序,将整行数据看作一个单位,每两条记录做一次对比,
    直到最后一条记录被放到正确的位置。两两对比时,先对比两条记录的关键字
    k 1 的值,如果不相同,则按规定顺序进行交换记录;如果值相同,再对比关键字
    k 2 ,k 3 ...,k n 以此类推。
    按列分组排序: :
    首先对关键字 k 1 进行排序,得到二维表在 k 1 上的排序结果。然后对 k 1 的每个值
    做一次分组,组内没有相同值时,则按规定顺序进行交换记录;有相同值时,每
    组再对 k 2 ,k 3 ,...,k n 的值进行分组,以此类推。

    优化参考方法:https://www.cnblogs.com/jueyoq/p/7900232.html

          https://www.cnblogs.com/ygh1229/articles/9806398.html

  • 相关阅读:
    NeatUpload 同时选择并上传多个文件
    前言
    11:连续出现的字符(1.9)
    06笨小猴(1.9)
    05:最大值和最小值的差(1.9)
    02:输出最高分数的学生姓名(1.9)
    04:谁拿了最多奖学金(1.9)
    03 不高兴的津津(1.9)
    01:查找特定的值(1.9)
    1813(2.1)
  • 原文地址:https://www.cnblogs.com/zyt-bg/p/12504356.html
Copyright © 2011-2022 走看看