-2

ユーザー入力に基づいてソート機能を作成したいと思います。

次のものがあると仮定します。

  • 1 から 10 までの順序付き整数リストまたはベクトルX 。
  • 機能 F
  • パラメータt
  • 出力一覧

私がやりたいことは、

F(X, t) = Y

つまり、同じ t の場合、同じ Y を提供する必要があります。

何か案が?

4

2 に答える 2

1

乱数発生器にtをシードし、リストをシャッフルします。

于 2012-12-14T23:54:33.033 に答える
0

これよりも良い答えがあることを保証します.@GeorgSchollyの答えをよく理解していないことは認めますが、探している関数は多項式であり、補間によって取得できます.

たとえば、ベクトルXに 2 つの整数x 0x 1があるとします。したがって、出力ベクトルYには 2 つの整数y 0y 1が必要です。任意の 2 点(x 0 , y 0 )および(x 1 , y 1 )に適合する直線y=ax+bがあります。

一般に、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を組み込むには、単純に「不要な」項を追加します。つまり、 2 つの点を放物線 (直線ではない) に一致させ、3 つの点を 3 次 (放物線ではない) に一致させるなどです。固定小数点tとして使用する追加の a n

はるかに簡単な方法がない場合(@ GoergSchollyの答えがまだ1つでない場合)、私は非常に驚かれることでしょう。

于 2012-12-15T00:43:00.963 に答える