0

C#で数独を作りたいです。ギザギザまたは多次元配列を使用する必要がありますか。なぜ?

数独などの単純な配列ロジックでは、ギザギザ配列の方が高速で効率的であることを知っています。しかし、おそらく他の議論がありますか?

前もって感謝します。

編集:数独でいくつかの解決方法を実行する必要があります。バックトラッカーアルゴリズムのように。多次元配列の方が構文が優れていることがわかりました。

私の質問は次のとおりだと思います:使用、実装、および変更が最も簡単なのはどれですか?

4

3 に答える 3

6

時期尚早の最適化のためだけに物事を複雑にしないでください。単純な多次元配列を使用し、後でそれがパフォーマンスの問題を引き起こしていることがわかった場合は、これを考慮してコードをリファクタリングします。

ヒント: パフォーマンスの問題は、多次元配列やギザギザ配列の選択に起因するものではありません。

于 2013-03-08T14:30:37.827 に答える
4

特定のデータを最もよく表すデータ構造を選択します。

配列を使用して、固定次元のグリッドを表していますか (数独ソリューションなど)。次に、多次元配列を使用します。

配列に保存したいものの数を変更できますか (たとえば、数独の開始パターンやユーザーが数独セルに入力する可能性のある値など)? それなら、ギザギザの配列の方がいいかもしれません。

プログラムに複数のタイプの配列を含めることもできます。たとえば、解を格納する多次元配列や他のデータを格納するジャグ配列などです。または、まったく異なるデータ構造。

要するに、データ量が比較的少ない数独のようなものでは、パフォーマンスは最大の問題にはならないということです。プログラムをできるだけ明確に構成し、後でパフォーマンスについて心配する方がよいでしょう。

于 2013-03-08T14:30:18.253 に答える
0

個人的には、このようなものはギザギザの配列の方が読みやすいと思いますが、それは個人的な好みに帰着します。結局のところ、数独にパフォーマンス上の問題はありませんので、より明確な方を使用してください。

于 2013-03-08T15:10:43.143 に答える