在线排序算法和外部排序算法有什么区别?

use*_*544 1 sorting algorithm external-sorting online-algorithm

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

tem*_*def 5

一个在线排序算法是一个,如果与该算法必须保持的顺序进行排序,因为越来越多的元素英寸的算法补充说,假设整个输入将是理解提供一次一个要排序的元素,将工作预先给定的,例如堆排序,不会像在线算法那样工作,因为它们假定它们预先知道所有元素。另一方面,像插入排序这样的算法是在线的,因为它完全从左到右工作,并且在它尝试处理最后一个元素之前不需要查看整个数组。

一个外部排序算法是其中目标是数据,通常预先提供排序,即是如此之大,它不能装入主存储器中。虽然外部排序算法通常不会一次将所有要排序的数据保存在内存中,但它们通常假设它们可以随时将所需的任何数据加载到内存中。

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

希望这可以帮助!