タグ付けされた質問 「algorithm」

アルゴリズムは、問題に対する抽象的な解決策を定義する明確に定義された一連のステップです。このタグは、問題がアルゴリズム設計に関連している場合に使用します。


6
大きなӨ表記は正確に何を表していますか?
ビッグO、ビッグオメガ、ビッグシータの表記法の違いに本当に戸惑っています。 私は大きなOが上限で、大きなOmegaが下限であることを理解していますが、大きなӨ(シータ)は正確には何を表していますか? 私はそれがタイトなバウンドを意味することを読みましたが、それはどういう意味ですか


5
2 ^ nとn * 2 ^ nは同じ時間の複雑さですか?
時間の複雑さについて私が見つけたリソースは、特に非多項式の例で、時間の複雑さの方程式の項を無視してもよいかについては不明です。 n 2 + n + 1の形式が与えられた場合、最後の2つの項は重要ではないことは明らかです。 具体的には、2つの分類2 nとn *(2 n)が与えられた場合、2 番目の分類は最初の分類と同じ順序ですか?追加のn乗算は重要ですか?通常、リソースは、x nが指数関数であり、はるかに速く成長するというだけです...次に進みます。 2 nがnを大幅に上回らないので、なぜそうならないのか理解できますが、2つを加算していないため、2つの方程式を比較するときに非常に重要です。実際、それらの差は常にnの因数となります。控えめに言っても重要なようです。

26
Bogosort(別名Monkey Sort)よりも悪いソートアルゴリズムはありますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 この質問を改善する 今朝、同僚が大学時代に振り返って、ソートアルゴリズムについて話し合いました。StupidSortのようなお気に入りについて思い出しましたが、私たちの1人は、このような並べ替えアルゴリズムを見たことがあると確信していましたO(n!)。そのため、見つけた「最悪の」ソートアルゴリズムを探し始めました。 完全にランダムな並べ替えはかなり悪いと仮定しました(つまり、要素をランダム化します- 順序付けですか?いいえ?もう一度ランダム化します)。。 Monkey Sortは、最悪の場合のパフォーマンスO(∞)、最良の場合のパフォーマンスO(n)、および平均のパフォーマンスがであるようO(n·n!)です。 最悪の平均並べ替えパフォーマンスを備えた、現在公式に受け入れられている並べ替えアルゴリズムは何O(n·n!)ですか?
178 algorithm  sorting  big-o 

27
与えられた数の約数を計算するアルゴリズム
与えられた数の約数を計算するのに最も最適なアルゴリズムは何ですか(パフォーマンスの観点から)? 疑似コードやいくつかの例へのリンクを提供できればすばらしいでしょう。 編集:すべての回答は非常に役に立ちました、ありがとうございます。私はアトキンのふるいを実装し、その後、ジョナサンレフラーが示したものと同様のものを使用します。Justin Bozonierによって投稿されたリンクには、私が欲しかったものに関する詳細情報があります。

20
主にソートされたデータに対してどのソートアルゴリズムが最適に機能しますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 6年前休業。 この質問を改善する 主にソートされたデータに対してどのソートアルゴリズムが最も効果的ですか?
174 algorithm  sorting 

30
O(nlogn)アルゴリズム-バイナリ文字列内で等間隔に配置された3つのものを見つける
昨日、アルゴリズムのテストでこの質問がありましたが、答えがわかりません。約40ポイントの価値があったので、それは私を完全に夢中にさせています。過去24時間以内に解決策を考え出していないため、クラスのほとんどが正しく解決しなかったと思います。 長さnの任意のバイナリ文字列が与えられた場合、文字列内に等間隔に配置された3つの文字列が存在する場合、それらを見つけます。これをO(n * log(n))時間で解決するアルゴリズムを記述します。 したがって、次のような文字列には「等間隔」の3つの文字列があります:11100000、0100100100 編集:これは乱数なので、任意の数で機能するはずです。私が挙げた例は、「等間隔」プロパティを説明するためのものです。したがって、1001011は有効な数値です。1、4、7は等間隔です。
173 algorithm  big-o 


3
HyperLogLogアルゴリズムはどのように機能しますか?
最近は暇なときにさまざまなアルゴリズムについて学んでいます。私が遭遇した非常に興味深いと思われるアルゴリズムはHyperLogLogアルゴリズムと呼ばれ、リストに含まれる一意のアイテムの数を推定します。 これは、「カーディナリティ」の値(最近までは、推定されていないと計算されていたと私は常に想定していました)を見たMySQL時代に戻ったので、特に興味深いものでした。 そのため、配列内の一意のアイテムの数を計算するアルゴリズムをO(n)で記述する方法を知っています。私はこれをJavaScriptで書いた: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != null) { continue; } Table[val] = 1; numUnique++; } return numUnique; } しかし問題は、私のアルゴリズムはO(n)が大量のメモリを使用する(に値を格納するTable)ことです。 私は、O(n)時間でリスト内の重複をカウントし、最小限のメモリを使用する方法についてこのペーパーを読んでいます。 それは、ビットまたは何かをハッシュおよびカウントすることにより、特定の確率内で(リストが均等に分散されていると仮定して)推定できるリスト内の一意のアイテムの数を説明します。 …

14
これは「十分な」ランダムアルゴリズムですか。高速の場合はなぜ使用されないのですか?
というクラスを作成しましたQuickRandom。その仕事は、乱数をすばやく生成することです。それは本当に簡単です。古い値を取り、を掛けてdouble、小数部分を取ります。 ここに私のQuickRandomクラス全体があります: public class QuickRandom { private double prevNum; private double magicNumber; public QuickRandom(double seed1, double seed2) { if (seed1 >= 1 || seed1 < 0) throw new IllegalArgumentException("Seed 1 must be >= 0 and < 1, not " + seed1); prevNum = seed1; if (seed2 <= 1 || seed2 …


19
2つの色の類似性/差異を比較する方法
私は、可変色にどれがより類似していて、何パーセントで5つの事前定義された色を評価するのに役立つプログラムを設計したいと考えています。問題は、それを手動で段階的に行う方法がわからないことです。したがって、プログラムについて考えるのはさらに困難です。 詳細:色は、異なる色のジェルを使用したチューブの写真からのものです。異なる色の5本のチューブがあります。それぞれが5つのレベルの1つを表しています。他のサンプルの写真を撮り、コンピューターでそのサンプルがどのレベルに属しているかを色を比較して評価したいと思います。また、近似のパーセンテージでそれを知りたいです。私はこのようなことをするプログラムを望みます:http : //www.colortools.net/color_matcher.html 手動で考えて実行する必要がある場合でも、実行する手順を教えてください。とても参考になります。
171 algorithm  colors  compare  rgb  hsv 

5
各並べ替えアルゴリズムはいつ使用されますか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 昨年休業。 この質問を改善する 特定のソートアルゴリズムが他よりも優先される場合の使用例は何ですか-マージソートvs QuickSort vsヒープソートvs 'イントロソート'など? サイズ、データ構造のタイプ、使用可能なメモリとキャッシュ、およびCPUパフォーマンスに基づいてそれらを使用する際の推奨ガイドはありますか?
170 algorithm  sorting 

21
トリッキーなGoogleインタビューの質問
私の友人が就職の面接をしています。インタビューの質問の1つが私に考えさせられました。 2つの負でない整数があります:iとj。次の方程式が与えられた場合、出力がソートされるようにiとjを反復する(最適な)解を見つけます。 2^i * 5^j したがって、最初の数ラウンドは次のようになります。 2^0 * 5^0 = 1 2^1 * 5^0 = 2 2^2 * 5^0 = 4 2^0 * 5^1 = 5 2^3 * 5^0 = 8 2^1 * 5^1 = 10 2^4 * 5^0 = 16 2^2 * 5^1 = 20 2^0 * 5^2 = …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.