基于参数的随机排序

时间:2012-12-14 23:51:05

标签: algorithm math sorting

我想根据用户输入创建一个排序功能。

假设你有:

  • 有序整数列表或向量, X ,从1到10.
  • 功能F
  • 参数t
  • 输出列表 Y

我想做什么'是

之间的一致功能

F(X, t) = Y

我的意思是同样的,它必须提供相同的Y.

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

使用 t 为随机生成器播种并随机播放列表。

答案 1 :(得分:0)

我保证有一个比这更好的答案,我承认我不太了解@ GeorgScholly的答案,但也许你正在寻找的函数是一个多项式,可以通过插值获得。

例如,假设你的向量 X 有两个整数, x 0 x 1 ,所以输出矢量 Y 必须有两个整数, y 0 y 1 即可。有一条线 y = ax + b 适合任意两点(x 0 ,y 0 (x 1 ,y 1

一般来说, n 点,(x 0 ,y 0 )...(x n- 1 ,y n-1 ,总是完全符合由多项式 n-1 ie 一个函数, y = a n-1 x n-1 + a n-2 x n-2 + ... + a 2 x 2 + a 1 x + a 0

这些系数 a n-1 ... a 0 ,可以通过“多项式插值”的许多方法找到。实际上,矢量形式的系数将定义您的函数, F(x)

最后,要合并参数 t ,您可能只需添加“不必要”的术语,匹配两个点与抛物线(不是一条线),匹配三用立方(不是抛物线)等点,以便有一个额外的 a n 用作固定点, t

如果没有更简单的方法我会感到非常惊讶(如果@ GoergScholly的回答不是一个)。