希尔排序如何减少数据搬动次数?

发布于 2022-09-11 18:11:35 字数 122 浏览 15 评论 0

有一系列数据放在数组中,数据很大 所以移动、交换数据位置需要消耗大量时间
如何优化算法,使排序时搬动数据的次数减少?

{A,x,x,x,B,x,x} -> {B,x,x,x,A,x,x} 这算一次搬动

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ま昔日黯然 2022-09-18 18:11:35

问题不明确,数据量大是什么意思?能一次读入内存吗?如果能,那么一次交换数据的时间与数据量大小的关系是很小的。

如果不能一次读入内存,那么你应该想办法把数据分开进行排序,比如用归并。

另外纠正你一下,几个常用排序算法里面都只有两两交换,没有单独移动一条数据的说法。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文