首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在线排序算法和外部排序算法有什么区别?

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

Stack Overflow用户
提问于 2015-08-03 18:22:48
回答 1查看 2.4K关注 0票数 1

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

EN

回答 1

Stack Overflow用户

发布于 2015-08-03 21:43:57

在线排序算法是一种在线排序算法,如果每次提供一个要排序的元素,则该算法必须在添加越来越多的元素时保持排序。假设整个输入都提前给出的算法(如堆排序)不会像在线算法那样工作,因为它们假定预先知道所有的元素。另一方面,像插入排序这样的算法是在线的,因为它完全从左到右工作,在尝试处理最后一个元素之前,它不需要看到整个数组。

外部排序算法的目标是对数据进行排序(通常是预先提供的),这种排序算法太大,无法进入主内存。虽然外部排序算法通常不会将所有数据同时存储在内存中,但它们通常假设可以在任何时候将需要的任何数据加载到内存中。

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

希望这能有所帮助!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31794171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档