【问题标题】:What is the difference between an online sorting algorithm and an external sorting algorithm?在线排序算法和外部排序算法有什么区别?
【发布时间】:2015-10-25 23:11:20
【问题描述】:

在线排序算法外部排序算法有什么区别?它们是相同的还是不同的?

【问题讨论】:

标签: algorithm sorting external-sorting online-algorithm


【解决方案1】:

在线排序算法是这样一种算法,如果要排序的元素一次提供一个,并且理解算法必须随着越来越多的元素添加到其中,那么该算法必须保持序列排序。 . 假设将预先给出整个输入的算法,例如堆排序,将不能作为在线算法工作,因为它们假设他们预先知道所有元素。另一方面,像插入排序这样的算法是在线的,因为它纯粹是从左到右工作,在它尝试处理最后一个元素之前不需要查看整个数组。

外部排序算法是一种目标是对通常预先提供的数据进行排序的算法,该算法太大以至于无法放入主内存中。虽然外部排序算法通常不会一次将所有要排序的数据保存在内存中,但它们通常假设可以随时将所需的任何数据加载到内存中。

考虑差异的一个好方法是,在在线排序算法中,您应该假设您正在尝试对动态生成的序列进行排序 - 在排序开始之前并非所有数据都存在。在外部排序算法中,所有数据都已经存在,但数据太多,您无法一次将所有数据加载到内存中。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2010-11-03
    • 1970-01-01
    • 2012-02-24
    • 2010-12-06
    • 2011-02-01
    • 1970-01-01
    相关资源
    最近更新 更多