「より少ない」とのみをベースにしているオブジェクトを並べ替える方法は?

cs.stackexchange https://cs.stackexchange.com/questions/121124

  •  29-09-2020
  •  | 
  •  

質問

は、N個のオブジェクトを有し、それぞれが未知の値を持つN個のマトリックスZを持つ。オブジェクトiの値がオブジェクトjの値より小さい場合、z(i、j)= 1)i、j)= 0= 0。Matrix Zのみを指定して、これらのN個のオブジェクトをソートするにはどうすればいいですか?

役に立ちましたか?

解決

あなたが探しているものは比較並び。その記事を見てください。


最終的なソートされたリストに表示されたときに、特定のオブジェクト、オブジェクトiとオブジェクトjの要件を明確に述べてください。オブジェクトjがオブジェクトjの前に発生する必要があります。z(i、j)=オブジェクトiの前後に発生することができますj(i、j)= z(j、i)= 0。

vonbrandが言及したように、行列zは、明確に定義された「より小さい」関係を指定し、数学の点で、オブジェクトの値の合計厳密な順序。それ以外の場合、指定されたオブジェクトはソートされていない可能性があります。

  • z [i、j]= 1の場合、オブジェクトiとオブジェクトjを並べ替えることはできません。
  • z [j、i]= 0の場合、z [i、k]= 1、z [k、j]= 1の場合、K。それ以外の場合は、オブジェクトi、j、kを並べ替えることはできません(紙はさみ - 岩を考える)。

zが明確に定義された「より小さい」関係を指定するとします。それから、 " $ \ le $ "比較操作も定義します。すなわち、z(j、i)= 0の場合、オブジェクトi $ \ le $ オブジェクトj。そのため、指定された $ n $ オブジェクトを並べ替えるために比較並べ替えを適用できます。

ほぼすべてのソートアルゴリズムは比較ソートです。たとえば、QuickSort、Mergesort、挿入ソート、選択ソート、バブルソートなどです。注目すべき例外は並び替え

ライセンス: CC-BY-SA帰属
所属していません cs.stackexchange
scroll top