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

数学とコンピュータサイエンスでは、アルゴリズムは、関数を計算するための明確に定義された命令の有限リストとして表現される効果的な方法です。アルゴリズムは、計算、データ処理、および自動推論に使用されます。

14
あなたが知っている最もあいまいなソートアルゴリズムは何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私はちょうど読んcyclesort sortvis.orgブログ記事を経由して。これはおそらく、私がよく知らない数学を使用しているため、これまで聞いた中で最もあいまいなものです(整数セットの順列でサイクルを検出)。 あなたが知っている最も不明瞭なものは何ですか?

30
有名な1ライナーまたは2ライナーのプログラムと方程式は何ですか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 6年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私は新しいプラットフォームで実験しており、60文字以下の文字列を扱うプログラムを作成しようとしています。有名なまたはよく知られた小さなコードの塊をデータストアに追加したいと思います。プログラミングと数学は私のソフトウェアのテーマに沿っているので、方程式。コードは、長さが合計60文字未満である限り、任意の言語および数学の専門分野の方程式を使用できます。私は人々がこの1 つのためにいくつかの頭痛をするつもりだと思う。 例えば、 #include<stdio.h> int main(){printf ("Hi World\n");return 0;} 正確に60文字! あなたの知恵に感謝します!

5
アルゴリズム:O(n)とO(nlog(n))を合計するにはどうすればよいですか?
重複を見つけて削除する次のアルゴリズムがあります: public static int numDuplicatesB(int[] arr) { Sort.mergesort(arr); int numDups = 0; for (int i = 1; i < arr.length; i++) { if (arr[i] == arr[i - 1]) { numDups++; } } return numDups; } これの最悪の場合の時間の複雑さを見つけようとしています。私はマージソートが知っているnlog(n)し、私のforループではデータセット全体を反復処理しているので、それはとしてカウントされnます。しかし、これらの数値をどうするかはわかりません。合計するだけですか?もしそうするなら、どうすればいいですか?

11
アルゴリズムはコンピューターアーキテクチャに依存しますか?
アルゴリズムはコンピューターアーキテクチャに依存しないことをどこかで読みました(どの本かを忘れました)。アルゴリズム自体が計算であると言う人もいます(マシン?)? 一方、並列プログラミングに関する本には、並列アルゴリズムに関する章があります。並列アルゴリズムは並列アーキテクチャに依存しているように見えますか? 大きな写真が恋しいですか?ありがとう。

5
最大でターゲットへの弾丸のパスを計算するためのアルゴリズム。2リコット
悪いタイトルで申し訳ありませんが、私はそれを表現するより良い方法を持っていませんでした... Wiiには任天堂による素晴らしいゲームがあります(そうです!)。9つのミニゲームがあり、私のお気に入りはタンクと呼ばれます!。自分自身を破壊することなく、COM敵の戦車を破壊することです。レベルのスクリーンショットは次のとおりです。 戦車を破壊する1つの方法は、弾丸を発射することです。このライムグリーンの敵の戦車は、2回跳ね返る(壁やブロックに対して)高速弾丸を発射します。プレイヤーの戦車が現在の場所に留まっていると、プレイヤーの戦車が即座に破壊される様子を見ることができます。中央の石灰戦車は、画像に描いた緑の道に沿って弾丸を発射できます。 私はアマチュアプログラマーとして、ライムタンクがプレイヤータンクを撃つためにどの方向に発火すべきかをどのように決定できるのかと思っていました。 私は自分でそれについて考えましたが、可能なアルゴリズムを思いつきませんでした。誰かに刺激を与えた場合の結論を説明します。説明を簡単にするために、壁は弾丸が跳ね返ることのできる表面であると想定しています。したがって、ブロックの孤立した長方形が4つの壁を形成します。 私は、弾丸のリコットが常に平行四辺形の片側にあるか、平行四辺形の反対の頂点になる2つの点を結論付けました。射撃する敵の戦車と、それが狙うプレイヤーの戦車は、必ずしも他の2つの頂点ではありませんが、平行四辺形の4つの側面のいずれかと同一線上にあることは間違いありません。以下は、平行四辺形を形成できる4つの可能な方法の説明です。 HOR-VERは、弾丸が最初に水平の壁に当たり、次に垂直の壁に当たります。 そして、私は立ち往生しています。敵の戦車とプレイヤーの戦車をマップ上で接続するラインを移動して、壁との2回のヒットで平行四辺形を形成するかどうかを考えましたが、敵の戦車とプレイヤーの戦車は平行四辺形の頂点と必然的に一致します。 また、アルゴリズムの一般的な流れがわかりません。アルゴリズムは次の2つの構造のいずれかを使用しますか、それとも両方とも間違っていますか? 考えられるパスを常に把握し、常に1つを最良としてマークし(最短、最も不明瞭、最も避けられない、または複数の基準に基づいた組み合わせおよび重み付けの評価)、残りは忘れます。すべての計算後に残ったものが最適です。 最初に弾丸で到達可能なすべての壁を決定し(これらの各壁に到達するために弾丸が他の壁に跳ね返る必要はありません)、次にこれらの各壁のすべての到達可能な範囲を決定します(遠くの点に到達できない場合があります)別の壁があなたの近くに立っている場合は跳ね返りのない壁)、再び跳ね返りで到達可能なすべての壁、およびこれらの壁に到達可能なすべての範囲を決定します。これらの4つのプロセスは、レイトレーシングと同様の方法で実行できます。各プロセス中に、プレイヤーの戦車が光線に当たった場合、その光線に従って弾丸の経路を見つけます。 私の意見では、このアルゴリズムは次の理由で把握するのが困難です。 弾丸はどの方向にも発射できます。そして 数学のように、線上に無限に多くの点がある壁には、無限に多くの点があります。 しかし、任天堂の人々はとにかくそれを作ったので、...アイデアを持っている人はいますか?

8
停止の問題を回避するプログラムのサブセットはありますか
私は停止する問題の別の説明を読んでいたところ、例として挙げられているすべての問題が無限のシーケンスに関係していると考えるようになりました。しかし、プログラムで無限シーケンスを使用することはありません。時間がかかりすぎます。すべての実世界のアプリケーションには下限と上限があります。実数でさえ真の実数ではありません-32/64ビットなどとして保存された近似値です。 問題は、プログラムが停止した場合に判断できるサブセットがあるかどうかです。ほとんどのプログラムで十分ですか?プログラムの「停止可能性」を判別できる言語構成体のセットを作成できますか。私はこれがどこかで以前に研究されたと確信しているので、どんなポインタでも評価されるでしょう。言語は完全なチューリングではありませんが、チューリングがほぼ完了しているようなものがありますか? 当然のことながら、このような構成体は再帰と無制限のwhileループを除外する必要がありますが、これらを使用しないプログラムは簡単に作成できます。 例として標準入力からの読み取りは制限されなければなりませんが、それは十分に簡単です-問題のドメインに応じて、入力を10,000,000文字などに制限します。 ティア [更新] コメントと回答を読んだ後、おそらく質問を書き直すべきです。 すべての入力が制限されている特定のプログラムについて、プログラムが停止するかどうかを判断できます。その場合、言語の制約は何であり、入力セットの制限は何ですか。これらの構成体の最大セットは、停止するかしないかを推測できる言語を決定します。これについて行われた研究はありますか? [更新2] これが答えです、はい、1967年にhttp://www.isp.uni-luebeck.de/kps07/files/papers/kirner.pdfから遡ります 有限状態システムの停止問題は少なくとも理論的に解決できることは、1967年にミンスキーによって既に議論されています[4]:「...有限状態のマシンは、完全に放置されると、最終的に完全に周期的になり繰り返しパターン。この繰り返しパターンの期間は、マシンの内部状態の数を超えることはできません...」 (したがって、有限チューリングマシンに固執する場合は、オラクルを構築できます)

3
数値レシピの現代的な代替手段は何ですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Software Engineering Stack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 過去において、数値レシピの本は、数値アルゴリズムのゴールドスタンダードリファレンスと見なされていました。初期のFortranエディションの後には、CおよびC ++などのエディションが続き、最新版になりました。これらを通して、最新のアルゴリズムのリファレンスコードを提供しました。 現在、古いエディションは無料でオンラインで入手できます。 残念ながら、今ではほとんど歴史的な本としてのみ有用だと思います。「ソフトウェアエンジニアリング」の実践は時代遅れであるように思われ、実際のコンテンツは文献に追いついていません。 現代のプログラマは、同様に包括的でありながら親しみやすいどのような参照を代わりに見るべきでしょうか?

9
本物のプログラマーになるためには、アルゴリズムを学ぶことが不可欠ですか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 5年前に閉鎖されました。 私はPHPプログラマーであり、今までアルゴリズムを学ぶ必要はありませんでした... matplotlibを使用する必要があるため、Python(実際のプログラミング言語)の学習を始めました。Pythonアルゴリズムの本を読んで始めてからmatplotlibとnumpyを学ぶのは理にかなっていますか、それともmatplotlibとnumpyにジャンプする必要がありますか? 宜しくお願いします、

8
ソートされたデータを必要とするバイナリ検索が線形検索よりも優れていると考えられるのはなぜですか?
線形検索は単純なアプローチであり、漸近的な複雑さのために、バイナリ検索はパフォーマンスよりも優れているといつも聞いています。しかし、バイナリ検索の前に並べ替えが必要な場合、線形検索よりも優れている理由を理解できませんでしたか? 線形検索はでO(n)あり、バイナリ検索はO(log n)です。これが、バイナリ検索の方が優れていると言う根拠のようです。ただし、バイナリ検索ではO(n log n)、最適なアルゴリズムのためのソートが必要です。したがって、ソートが必要なため、バイナリ検索は実際には高速になりません。 著者は、単純な線形検索アプローチを使用するよりも挿入ソートで、アイテムを挿入する必要がある場所を見つけるためにバイナリ検索を使用する方が良いと示唆するCLRSを読んでいます。この場合、各ループ反復で、バイナリ検索を適用できるソート済みリストがあるため、これは正当化されているようです。しかし、検索が必要なデータセットについての保証がない一般的なケースでは、ソート要件のために実際にバイナリ検索を使用していないのは線形検索よりも悪いですか? 私が見落としている実用的な考慮事項はありますか?または、ソートに必要な計算時間を考慮せずに、バイナリ検索は線形検索よりも優れていると見なされますか?

3
データで微妙な関係を表現するにはどうすればよいですか?
「A」は「B」および「C」に関連しています。このコンテキストによって、「B」と「C」が関連している可能性があることをどのように示しますか? 例: 最近のブロードウェイのプレイに関するいくつかの見出しがあります。 アル・パチーノ主演のデビッド・マメットのグレンガリー・グレン・ロスがブロードウェイにオープン 「グレンガリーグレンロス」のアルパチーノ:批評家はどう思いましたか? アル・パチーノがブロードウェイのターンで不振のレビューを獲得 劇場レビュー:グレンガリーグレンロスはそのスターを激しく売っています グレンガリーグレンロス; ねえ、誰がKlieg Lightsを殺したの? 問題: これらのレコードに対してファジー文字列一致を実行すると、人間の読者がより大きなデータセットのコンテキストからそれらを選択できたとしても、いくつかの関係が確立されますが、他の関係は確立されません。 #3が#4に関連していることを示唆する関係を見つけるにはどうすればよいですか?どちらも#1に簡単に接続できますが、相互には接続できません。 この種のデータまたは構造に(Googlable)名前はありますか?どのようなアルゴリズムを探していますか? ゴール: 千の見出し、自動的にこれらの5つの項目がすべてであることを示唆しているシステムを考えると、おそらく同じことについて。 正直に言うと、プログラムを作成してから長い時間が経ち、この問題を適切に表現する方法に途方に暮れています。(それが理にかなっている場合、私は知らないことを知りません)。 これは個人的なプロジェクトであり、私はPythonで書いています。ヘルプ、アドバイス、およびポインタを事前に感謝します!

8
歴史に基づいて公正なチームを分割するための戦略/アルゴリズム
私たちは定期的にフロアボールをしている人々のグループです。すべてのセッションは、チームを分割するという困難なタスクから始まります... では、チームを自動的に選択するアプリケーションよりも優れているのは何でしょうか? したがって、チームの組み合わせと結果の履歴、およびこの特定のセッションに参加する人々のリストを考えると、最適なチームを見つけるための良い戦略は何でしょうか?最適とは、チームが可能な限り平等であることを意味します。 何か案は? 編集:明確にするために、ピッキングの基礎となるデータは次のようになります。 [{ team1: ["playerA", "playerB", "playerC"], team2: ["playerD", "playerE", "playerF"], goals_team1: 10, goals_team2: 8 }, { team1: ["playerD", "playerB", "playerC"], team2: ["playerA", "playerE", "playerG"], goals_team1: 2, goals_team2: 5 }, { team1: ["playerD", "playerB", "playerF"], team2: ["playerA", "playerE", "playerC"], goals_team1: 4, goals_team2: 2 }]

3
効率的なグラフクラスタリングアルゴリズム
大きなグラフ(約5000の頂点と10000のエッジを持つ)でクラスターを見つけるための効率的なアルゴリズムを探しています。 これまでは、JUNG javaライブラリに実装されたGirvan–Newmanアルゴリズムを使用していますが、多くのエッジを削除しようとすると非常に遅くなります。 大きなグラフのより良い代替案を提案してもらえますか?

7
if / elseブロックで真理値表を最小にする方法
真理値表を取得して、それをコンパクトなifブロックに変換するにはどうすればよいですか? たとえば、AとBが条件であり、x、y、zが可能なアクションであるこの真理値表があるとします。 A B | x y z ------------- 0 0 | 0 0 1 0 1 | 0 0 1 1 0 | 0 1 0 1 1 | 1 0 0 ブロックの場合、これは以下に変換できます。 if(A) { if(B) { do(x) } else { do(y) } } else { do(z) } これは簡単なサンプルですが、多くの場合、さまざまな方法で組み合わせてさまざまな出力を生成するいくつかの条件があり、ifブロックでロジックを表現する最もコンパクトでエレガントな方法を見つけるのは困難です。

4
動的プログラミングに適している問題をどのように特定しますか?
私は最近、動的プログラミングについて読んでいます。ゼロから始めて、現在DP問題の特定と解決が得意な人の話を聞きたいです。私はこれらの問題をDPとして特定し、簡潔な解決策を組み立てるのに苦労しています。 私は初心者のDPの問題とMITのリソースなどのほとんどを経験しました

3
グラフのプロット線の色を選択するためのアルゴリズムは何ですか?
プロットラインのRGBまたはHSVカラーを生成し、視覚的に隣人と区別できるようにするために、プログラムで実装できるアルゴリズムまたはルールに興味があります。 プロの地図作成には、地図上の隣接する2つの国が同じ色にならないようにするアルゴリズムまたはルールがあることを知っています。Microsoft Office Excelは、プロットラインに適した濃淡/陰影(赤、青、紫/オレンジ)を選択していると考えることもできます。 これが私が話していることの例です-黒の背景に12行の色を生成する必要があります。ここの色は、WebセーフRGBカラーコードを使用して手動でハードコーディングしました。これらの線が重なったときに問題が発生します-紫、やや濃い紫、または紫を見ているかどうかを判断するのは困難です。これらのようなプロットラインの色を生成するためのより良いアルゴリズムを探しています。 以下は、jQueryのFlotプロットライブラリを使用した例です。グラフの色が連続して表示されています。
19 algorithms  color 

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