首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >等高平移火种

等高平移火种
EN

Stack Overflow用户
提问于 2015-05-04 12:16:22
回答 1查看 721关注 0票数 1

我正在努力在星火中实现同等高度的旋转。我面临的主要问题是,我的实现是线性的,不具有可伸缩性。

我想过一种方法,但我认为我的设计效率很低:

首先,我根据必须对其进行绑定的列对数据集进行排序。然后,我将其发送到一个函数,该函数将bin号分配给特定的值。

有人能从不同的角度建议如何处理这个问题吗?

代码语言:javascript
运行
复制
  anim    wt
1     1 181.0
2     2 179.0
3     3 180.5
4     4 201.0
5     5 201.5
6     6 245.0
7     7 246.4
8     8 189.3
9     9 301.0
10   10 354.0
11   11 369.0
12   12 205.0
13   13 199.0
14   14 394.0
15   15 231.3

在绑定(等高)后,"wt“列应被指定为如下所示的bin值。

代码语言:javascript
运行
复制
anim    wt wt2
1     1 181.0   1
2     2 179.0   1
3     3 180.5   1
4     4 201.0   2
5     5 201.5   2
6     6 245.0   2
7     7 246.4   3
8     8 189.3   1
9     9 301.0   3
10   10 354.0   3
11   11 369.0   3
12   12 205.0   2
13   13 199.0   1
14   14 394.0   3
15   15 231.3   2

程序应该根据wt的值对数据集进行排序,然后将其划分为回收箱,将相同数量的元素放入每个桶中。

EN

回答 1

Stack Overflow用户

发布于 2015-05-05 18:07:26

这的确是一个很难回答的问题。没有那么多的方法可以有效地排序,更少的方法可以很容易地被分发。我想你应该能够做一些类似于合并排序的事情,比如说,通过划分你的N个条目集,直到你得到N/K条目的块,然后你把它排序并划分成K个桶。然后,合并操作可以是1次传递,如果在任何时候桶的大小超过N/K,您就会“溢出”到下一个桶(也是排序的,所以始终是前置的)。

原则上,知道N和K的数字,那么桶的大小应该很容易计算。正如斯派克所做的那样,您可能需要研究基于排序的洗牌(这里这里),在这里,我了解维护人员已经得到了显著的改进(并进行了重大的优化)。它可能就像使用这个工具分割成K分区一样简单!:-)

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

https://stackoverflow.com/questions/30029958

复制
相关文章

相似问题

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