-2

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

假设你有:

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

我要做的是'之间的一致功能

F(X, t) = Y

我的意思是对于相同的 t,它必须提供相同的 Y。

任何想法?

4

2 回答 2

1

用t播种你的随机生成器并打乱列表。

于 2012-12-14T23:54:33.033 回答
0

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

例如,假设您的向量X有两个整数x 0x 1,因此您的输出向量Y必须有两个整数y 0y 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 次多项式拟合,函数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 的答案还不是一个),我会感到非常惊讶。

于 2012-12-15T00:43:00.963 回答