0

URL のリストがあり、既にいくつかの並べ替えが行われているとします。ここで、いくつかの制約を追加しましょう。たとえば、同じドメインに 2 つ以上のリンクが連続して存在するのは良くないとします。

実際には、2 つ、3 つ、5 つ、おそらくそれ以上の制約はほとんどありません。

そして今、最初の並べ替えと制約の間のバランスを維持しながら、元のリストを再利用したいと考えています。そして、この平衡線は何らかの方法で構成可能でなければなりません。

今、私が考えているのは、非常に単純明快な (エラーが発生しやすいと私は信じている) ブルートフォース アプローチです。リストを反復処理し、気になるすべての統計を数え、ヒューリスティックによってリンクを上下に移動することを決定し、統計を再計算してさらに先に進みます。 ...

4

2 に答える 2

1

この問題の解決を遅らせました。しかし、考えられる解決策を 1 つ思いついたので、それについて説明します。

これは、「行に同じプロパティを持つ要素が N 個以下」という問題に対して機能します-元のケースでは同じドメインとリンクします。

そう:

  1. リスト内の「悪い」場所を特定し、それらをインデックスの間隔として覚えておいてください。
  2. 間隔ごとに:
    • 両側でその間隔を拡張します-配列の境界(およびおそらく別の間隔の境界)を超えないように注意してください
    • 拡張サイズは間隔サイズに依存する必要があります
    • 私たちの状態に比べて大丈夫に見えない限り、その間隔をシャッフルします

このようにして、限られた間隔でのみ並べ替えを混乱させ、一般的な並べ替えはあまり変わらないはずです。

おそらく、リストの半分以上が単一の「悪い」間隔である場合は、特別なケースが必要です。たとえば、均一に分散するだけです。

于 2012-12-27T12:48:29.123 に答える
0

制約付きソートの一般的なアルゴリズムに関する IEEE の論文があります....

もしあなたがそれを読みたいなら、ここにリンクがあります :

于 2012-12-24T11:08:06.393 に答える