1

ランダムな形状のすべてのエッジを提供できる効率的なアルゴリズムを探しています。私はそれを書くことができますが、誰かが最適化されている可能性のある既存のソリューションを知っているなら、これは携帯電話で実行されるので、それはありがたいです:)

例の形:

=====     ==========
=====     \=========
====/      \\     
===/        \\
==/          =======
=/           =======
====================
             =======
             =======
=====\       =======
======\     /=======

左上端については、次のような効果的なデータが必要です。[ 0%, 0% ], [ 25%, 0% ]

4

1 に答える 1

0

ネストされたループと文字チェック以上に最適化することはできないようです。私は間違っているかもしれませんが、それが私が始めるところです。

疑似

for ( i = 0; i < rows; i++ ){
   for (j = 0; j < cols; j++ ){
      if character[i][j] === '/' or '|' or '\'  or '-'
         // Edge-Found logic.
   }
}

編集

以前の回答を取り消します。もう少し考えてみたところ、文字エッジの最初に見つかったインスタンスで反復を停止し、そのポイントの周囲にあるすべてのノードを別のエッジで検索することで、さらに最適化することができました。最初のエッジまで完全に戻るまで、すすぎと繰り返しを繰り返します。この問題は簡単に再帰に役立ち、形状をマッピングしながらリンクされたリストを作成することにより、プログラミング オプションの世界が開かれます。

2 年生のコンピューター サイエンスでのマウスの迷路問題のいくつかを思い出します。素晴らしい質問です。楽しいものを何度も見られるのは素晴らしいことです。:D

また、興味のある方は、「グラフ理論」で、このようなあらゆる種類のクールな問題を調べることができます。これは基本的に、インターネット、Google マップ、およびその他のあらゆる種類の優れたデータベース アプリケーションを強化するものです (たとえば、FaceBook のデータベースの背後にある理論であり、サービスの速度にほとんど単独で責任を負っています... OpenGraphについて聞いたことがありますか?)

于 2011-12-31T01:50:29.810 に答える