微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

algorithm – 排序值,但仅限于它们比当前顺序多X

我一直在搜索Google(当然还有堆栈溢出!),以便按值对整数列表进行排序,还可以使用额外的因子.我想要实现某种算法来实现.到目前为止,我在Delphi 2007中有一个数组,它将值从最大值分类到最小值,但现在我希望它对列表中的前一个数字仅比X数字排序的值排序.

例如,值5,7,25,15当前被分类为25,15,5.我现在尝试获得的顺序,X值为5,是25,5,7.你可以看到,5和7没有切换位置,因为它们之间的差异不超过5.

不确定我是否特别好解释这一点,但这是一般的想法.

一个例子是值10,40,18,20,16,28.排序,它们应该是40,28,10.18,20和16没有移动,因为再次,那里每个数字之间不超过5.

其背后的想法是,与数字相关联的项目(例如,订购的次数)不会一直变化,因为只有1或2的差异.例如,如果列表中的大多数频繁订购的纸张通过购买的频率显示在网页上,然后特定类型纸张的订单仅在用户订购超过下一次最常频率五倍以上时才会改变.

希望这是有道理的,谢谢你的时间!

解决方法

我认为你的要求导致了非常奇怪的结果.最终,您可以使用排序顺序,其中项目的排序方式完全错误,排序方式取决于它们的变化方式.

我认为你需要建立价值观的“阶级”(使用百分位?),然后在每个阶级中按字母顺序对报纸进行排序.

例如:几乎没有订购(90%的纸张订购超过这一份),低于中位数(50%的报纸订购超过这些),高于中位数,前10名(按订单数量排序).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐