基于多个标准对记录进行排名的算法

时间:2014-06-21 11:45:54

标签: sorting ranking

这是一般的“算法”问题,而不是编程问题。

假设我们有一个以下形式的记录表:

S/N   Cost   Profit  Review   
 1      5      9      4
 2     10      6      5
 3      8     11      6
 4     12      5      9

我们希望以某种方式根据多个标准(属性)对这些记录进行排序和排名;例如成本和利润。

是否有任何已知的流程或算法可以帮助您这样做?

我知道这是一个多目标问题但是我试图找出在具有多个属性的表中对记录进行排序的替代方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

绝对!在您的问题中,您希望根据一个或多个属性进行排序。我假设某个属性的价值高于其他属性,例如,如果您最初按cost订购,并且最终有三个具有相同cost的商品,那么您将依赖另一个进行排序值较少的属性:例如profit

算法:

  1. 使用有效的排序算法排序 - 例如:quickSort
  2. 提取重复项(如果有),然后使用其他(次要值)属性对其进行排序
  3. 合并两个数组< - 这取决于您希望最终排序的方式。
  4. 打印
  5. 此算法应为O(2nLogn) => O(nLogn)

    的总和

    enter image description here