問題タブ [divide-and-conquer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 配列内の反転数のカウント、C++
a
サイズの配列の反転は、と を保持n
するペアと呼ばれます。特定の配列の反転数をカウントする関数を C++ で実装しようとしています。マージ ソート アルゴリズムを変更するだけで、O(n log n ) 時間で実行される分割統治アプローチに従いました。これまでの私のコードは次のとおりです。(i,j)
i<j
a[i]>a[j]
一部のテストケースでは正しい結果が得られますが、他のテストケースでは間違った出力が得られます。アルゴリズムを間違って理解したのでしょうか、それとも実装を間違えましたか? 誰か助けてくれませんか?前もって感謝します。
python - Python translation of C code not working
I want to find the maximum element in an array in O(log N)
time using divide and conquer. I found a working code at planet-source-code. I translated it into Python as follows:
When I use an array [98,5,4,3,2,76,78,92]
, and call the code as
I am getting a out-of-bound list index error. However the C code returns the correct result 98. Can anyone spot what error am I doing?
algorithm - 配列内の最大要素の最小化
n
ほとんどの場合、次の操作を実行できる正の整数のサイズの配列がありますN
。
- サブ配列を選択し、その要素の値を
k
(k
サブ配列の最小値より小さくなければなりません) だけ減らします。 - このような操作では、サブ配列のサイズに を掛けたコストがかかります
k
。 - これらの操作の総コストは を超えてはなりません
M
。 N
M は非常に大きくなる可能性があります。
この配列の最大要素を最小化するための効率的なアルゴリズムを教えてください。
c++ - 分割統治配列アルゴリズム ++
配列の各要素を調べて、その特定の要素が 1 つの INT より大きく、別の INT より小さいかどうかを判断する関数を実装しようとしています。例えば:
これは基本的なアルゴリズムとして機能しますが、「分割統治」方法論を使用してより効率的なコードを作成したいのですが、再帰を使用してそれをカウントするのに問題があり、すべての例がありますsee は、2 点ではなく 1 点の比較のみを扱います。誰でも状況に光を当てることができますか?(http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm)
私の元のコード(線形):
私がこれまでに拾ってきたものからのサンプルコード(さまざまなことに何時間も取り組んだ後、別のサンプルコードを使用した後、運が悪かった:
この質問が明確でない場合は、申し訳ありませんが、何か詳しく説明する必要があるかどうか尋ねてください.
algorithm - 分割統治法と動的計画法の違い
分割統治アルゴリズムと動的計画法アルゴリズムの違いは何ですか?2つの用語はどのように異なりますか?違いがわかりません。
簡単な例を挙げて、2つの違いと、それらがどのような理由で類似しているように見えるかを説明してください。
python - 階乗を計算する「分割統治」法が大きなintに対して非常に高速なのはなぜですか?
私は最近、大きな整数の階乗アルゴリズムを検討することにしました。この「分割統治」アルゴリズムは、単純な反復アプローチや素数分解アプローチよりも高速です。
アルゴリズムが機能する理由を理解しています。それは、乗算を再帰的に小さな部分に分割するだけです。私が理解していないのは、なぜこの方法が速いのかということです。
recursion - これらの階乗関数の速度に大きな違いがあるのはなぜですか?
それで、私は最近、階乗を非常に高速に計算することに興味を持ち、インターネットから1つを書き、他のいくつかをテストしました。コードは次のとおりです(Python 2.7):
私はPythonを初めて使用するわけではありません。メイン言語として数年間使用していますが、結果は少し予想外でした...
私の質問は、どうすれば最後のものをもっと速くできるのでしょうか?! すべての再帰を見てください!Python は再帰が好きではないと思っていました。では、なぜこれほど高速になったのでしょうか。factorial2 はどのように機能しますか? また、誰もが知っているように、これらすべてがいくつかの異なる値に対して正しい出力を生成していることを確認したので、これらすべてが正しく機能すると確信しています。
c# - 一連の xy 座標における最短距離
問題に対して 2 つの異なるアルゴリズムを比較する課題があります。問題は次のとおりです。
次のような一連の xy 座標があるとします。
A(2,3)、B(5,6)、C(7,8)、D(6,2)、E(5,5)など。
そして、それらの間の距離が最も短い2つの座標を見つけたいです。解決策の1つは、ブルートフォース(1つずつ一致させる)を使用することですが、「分割統治」方法を使用する別の解決策があります..
「分割統治法」について教えてください。
java - 出力行に出力する文字が必要
整数ではなく文字が入力されたときにこれらの行を出力する必要があります。これを行う方法がわかりません。この問題の解決を手伝っていただける場合は、コードと必要なものを以下に投稿してください。ありがとうございます。