首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重力排序:这有可能是通过编程实现的吗?

重力排序:这有可能是通过编程实现的吗?
EN

Stack Overflow用户
提问于 2010-03-21 23:15:18
回答 16查看 12K关注 0票数 19

最近我一直在考虑在排序算法中使用面向对象的设计。然而,我无法找到一种适当的方法来使这种排序算法更接近于在O(n)时间内进行排序。

好吧,这是我一个星期以来一直在想的事情。我有一组输入数据。我将为每个输入数据分配一个质量(假设输入数据为Mass类型和Sphere类型。如果我们假设所有物体都是完美的球形物体,形状与其质量成正比,那么最重的物体首先接触地面。)我将把我所有的输入数据放置在与地球相同距离的空间中。我会让他们自由落体。根据万有引力定律,最重的物体首先撞击地面。他们点击的顺序会给我排序的数据。这在某种程度上是很有趣的,但实际上,我觉得这应该是可能的使用OO,我已经学到了至今。

真的有可能用重力拉力来进行排序吗?或者我是愚蠢/疯狂的?

编辑:发现所有物体同时击中地面,所以我引入了球形物体的概念。

EN

Stack Overflow用户

发布于 2010-03-22 21:18:37

嗯。重力排序。

忽略你的重力模型是错误的,让我们看看这个想法会给我们带来什么。

物理现实有10^80处理器。

如果有N/2处理器对N个对象进行排序,那么排序的实际下界就是log(N)。

如果您有多个CPU核心可用,就没有理由不能在多个线程上运行mergesort。

票数 2
EN
查看全部 16 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2489190

复制
相关文章

相似问题

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