给定一组没有特定顺序的n个对象(n = 5
在本例中):
{
apple,
orange,
banana,
cherry,
cabbage
}
Run Code Online (Sandbox Code Playgroud)
我试图用三个选项给用户几个问题,如下:
banana vs. cabbage
(no preference)
Run Code Online (Sandbox Code Playgroud)
在每个问题之后,它会提出一个具有不同选项的新问题(没有偏好保持不变),有效地收集用户偏好的数据.
在几次(在这种情况下为6或7)问题之后,它将按顺序给出排名最高的对象的有序列表(数组):
{
cherry,
cabbage,
orange,
apple,
banana
}
Run Code Online (Sandbox Code Playgroud)
但是,我不知道这样的算法是如何工作的,或者什么时候知道停止.如果这是一个糟糕的问题,我很抱歉,但我对算法设计很陌生.
我想它并不重要,但我使用的是JavaScript.
好的,我在四个月后再次访问,因为我想到了一种新方法来进行排序.
也许,为每个对象设置一个下级列表会更有效率,因此任何不如一个对象的东西都会比它的上级更差.我正在解释这个,所以这是一个视觉:
cherry > cabbage
cabbage > banana
cabbage > apple
apple > orange
thus, cherry > cabbage & banana & apple & orange
Run Code Online (Sandbox Code Playgroud)
用旧方法,得分:
apple vs. orange
apple vs. banana (e.g. apple wins)
apple vs. cherry (e.g. cherry wins)
apple vs. cabbage
orange vs. banana
orange vs. cherry
orange vs. …
Run Code Online (Sandbox Code Playgroud)