タグ付けされた質問 「language-agnostic」

このタグは、特定のプログラミング言語に依存しないプログラミングの質問に使用します。

4
実際にフィボナッチヒープを効率的に実装した人はいますか?
あなたの誰かがフィボナッチヒープを実装したことがありますか?私は数年前にそうしましたが、配列ベースのBinHeapsを使用するよりも数桁遅くなりました。 当時、私はそれが研究が主張するほど必ずしも良いとは限らないということについての貴重な教訓だと思っていました。ただし、多くの研究論文では、フィボナッチヒープの使用に基づくアルゴリズムの実行時間を主張しています。 効率的な実装を実現できたことがありますか?または、フィボナッチヒープの方が効率的であるほど大きなデータセットを使用しましたか?もしそうなら、いくつかの詳細をいただければ幸いです。

9
窓から猫を投げる
猫がいる高層ビルにいるとします。猫は低い階の窓から落ちても生き残ることができますが、高床から投げられると死にます。最小限の試行回数で、猫が生き残ることができる最長の落下をどのようにして把握できますか? 明らかに、猫が1匹しかいない場合、直線的にしか検索できません。まず1階から猫を投げます。生き残った場合は2回目から投げます。やがて、f階から投げ出された猫は死ぬ。すると、f-1フロアが最大安全フロアであったことがわかります。 しかし、猫が複数いる場合はどうでしょうか。これで、ある種の対数検索を試すことができます。ビルドが100階建てで、猫が2匹いるとします。最初の猫を50階から投げ出して死んだ場合、50階を直線的に検索するだけで済みます。あなたが最初の試みのために低い階を選択した場合、あなたはさらに良いことができます。一度に20フロアの問題に取り組むことを選択し、最初の致命的なフロアが#50であるとします。その場合、最初の猫は20階と40階のフライトを生き延びてから60階で死亡します。41階から49階を個別に確認するだけです。これは合計12回の試行であり、バイナリ除去を使用しようとした場合に必要な50回よりもはるかに優れています。 一般的に、2匹の猫がいるn階建ての建物の場合、最善の戦略は何ですか?それは最悪の場合の複雑さですか?n階とm猫はどうですか? すべての猫が同等であると仮定します。それらはすべて、所定のウィンドウからの落下によって生き残るか、または死亡します。また、すべての試みは独立しています:猫が転倒を生き延びた場合、それは完全に無害です。 これは宿題ではありませんが、学校の課題のために一度解決したかもしれません。今日、気まぐれな問題が頭に浮かんだだけで、その解決策を思い出せません。この問題の名前またはソリューションアルゴリズムの名前を知っている人がいる場合は、ボーナスポイントになります。

30
お気に入りの(賢い)防御的プログラミングのベストプラクティス[終了]
現在のところ、この質問は、Q&A形式には適していません。私たちは回答が事実、参考文献、専門知識によってサポートされることを期待しますが、この質問はおそらく議論、議論、投票、または拡張された議論を誘います。この質問が改善され、場合によっては再開できると思われる場合は、ヘルプセンターにアクセスしてください。 7年前休業。 防御コーディングにお気に入りの(賢い)テクニックを選択する必要がある場合、それらはどのようなものでしょうか?私の現在の言語はJavaおよびObjective-C(背景はC ++)ですが、どの言語でもお気軽に回答してください。ここでの重点は、70%以上の私たちがすでに知っている以外の巧妙な防御技術にあります。さあ、今こそあなたのトリックの袋を深く掘り下げる時です。 つまり、この面白くない例以外を考えてみてください。 if(5 == x) の代わりに if(x == 5):意図しない割り当てを回避する ここにいくつかの興味深い興味深い防御的プログラミングの例があります(言語固有の例はJavaにあります): -変数を変更する必要があることがわかるまで、変数をロックします。 つまり、変数を変更する必要があることがわかるまで、すべての変数を宣言finalできますfinal。その時点で、を削除できます。一般的に知られていない事実の1つは、これがメソッドparamsにも有効であることです。 public void foo(final int arg) { /* Stuff Here */ } -何か悪いことが起こった場合、証拠の痕跡を残してください 例外がある場合にできることはたくさんあります。明らかにそれをログに記録し、いくつかのクリーンアップを実行することは少数です。しかし、証拠の痕跡を残すこともできます(たとえば、「UNABLE TO LOAD FILE」や99999などの変数をセンチネル値に設定すると、例外catchブロックを突破した場合にデバッガーで役立ちます)。 -一貫性に関しては、悪魔は細部にあります 使用している他のライブラリと同じようにしてください。たとえば、Javaで、値の範囲を抽出するメソッドを作成している場合は、下限を包含し、上限を排他にします。これはString.substring(start, end)、同じように動作するようなメソッドとの一貫性を保ちます。それはインデックスはゼロ(からされている配列と一致要素の反復など、さまざまな操作になりように、このように動作するには、Sun JDKのメソッドのこれらのタイプのすべてを見つけることができます包括的な配列(の長さ)、排他的に)。 それで、あなたの好きな防御行動は何ですか? 更新:まだ行っていない場合は、遠慮なくお知らせください。公式回答を選択する前に、さらに多くの回答が寄せられる可能性があります。


30
「解析」の反対は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 6年前休業。 ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 SQLクエリを解析してそのクエリの抽象表現に変換する関数parseQueryがあります。 クエリの抽象表現を取り、SQLクエリ文字列を返す関数を記述しようとしています。 2番目の関数は何と呼びますか?

6
プライベートvs保護-可視性のグッドプラクティスの懸念[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 この質問を改善する 私は探していて、理論上の違いを知っています。 パブリック -任意のクラス/関数はメソッド/プロパティにアクセスすることができます。 protected-このクラスとサブクラスだけがメソッド/プロパティにアクセスできます。 プライベート -これだけのクラスはメソッド/プロパティにアクセスすることができます。それも継承されません。 それは問題なく、問題は、それらの間の実際的な違いは何ですか?いつ使用しprivate、いつ使用しprotectedますか?これよりも標準的または許容できる良い習慣はありますか? これまでは、継承とポリモーフィズムの概念を維持するpublicために、外部からアクセスする必要があるもの(コンストラクターやメインクラスの機能など)とprotected内部メソッド(ロジック、ヘルパーメソッドなど)を使用しています。私は正しい軌道に乗っていますか? (この質問は私用ですが、このような質問を見たことがないので、将来の参考のためにも注意してください)。

8
Amazonおすすめ機能はどのように機能しますか?
Amazon推奨テクノロジーの画面の背後にあるテクノロジーは何ですか?Amazonの推奨は現在市場で最高だと思いますが、それらはどのようにして関連する推奨を提供するのですか? 最近は似たようなレコメンデーションプロジェクトにも関わっていますが、技術的な観点からアマゾンレコメンデーションテクノロジーの内外について知りたいと思います。 任意の入力をいただければ幸いです。 更新: この特許は、パーソナライズされた推奨事項がどのように行われるかを説明していますが、あまり技術的ではないため、いくつかの洞察を提供できれば非常に良いでしょう。 Daveのコメントから、Affinity Analysisはそのような推奨エンジンの基礎を形成します。また、トピックの読み物もいくつかあります マーケットバスケット分析の謎を解く マーケットバスケット分析 アフィニティ分析 推奨読書: データマイニング:概念と手法

12
どの言語にも単項ブールトグル演算子がありますか?
ですから、これは理論的な問題です。C ++とそれに直接(非)基づいている言語(Java、C#、PHP)には、次のようなほとんどの2項演算子の結果を最初のオペランドに割り当てるためのショートカット演算子があります。 a += 3; // for a = a + 3 a *= 3; // for a = a * 3; a <<= 3; // for a = a << 3; しかし、ブール式を切り替えたいときは、いつも次のように書いています a = !a; これaは、長い式のように煩わしくなります。 this.dataSource.trackedObject.currentValue.booleanFlag = !this.dataSource.trackedObject.currentValue.booleanFlag; (そうです、デメテルの法則、私は知っています)。 だから私は、思っていた単項ブールトグルオペレータと任意の言語があり、私は省略することができるようになるa = !aための表現を繰り返すことなくa、たとえばは、 !=a; // or a!!; 私たちの言語に適切なブール型(boolC ++のような)があり、それaがその型(つまりCスタイルではない)であると仮定しましょうint …

10
デザインパターン:抽象ファクトリとファクトリメソッド
注:質問は投稿の最後にあります。 Abstract FactoryとFactory Methodに関する他のスタックオーバーフロースレッドを読みました。各パターンの意図を理解しています。しかし、私はその定義を明確にしていません。 Factoryメソッドは、オブジェクトを作成するためのインターフェースを定義しますが、インスタンス化するものをサブクラスに決定させます。ファクトリメソッドを使用すると、クラスはインスタンス化をサブクラスに遅らせることができます。 対照的に、抽象ファクトリは、具体的なクラスを指定せずに、関連するオブジェクトまたは依存するオブジェクトのファミリを作成するためのインターフェースを提供します。 - ジョン・フェミネラ 抽象ファクトリーと非常によく似ていますファクトリメソッド。私のポイントを説明するために、いくつかのUMLクラスを描画しました。 注意: 図はwww.yuml.comからのものですので、完全に方向付けられていません。しかし、それは無料のサービスです:)。 図は完全ではない場合があります。GoFのデザインパターンはまだ学習中です。 工場での方法: 抽象ファクトリー(1メンバーのみ): 抽象ファクトリー(より多くのメンバー): 質問: 場合抽象工場は一つだけ作成者と一つの製品を持っている、それはまだある、抽象ファクトリパターン?(家族を作成するためのインターフェース) ファクトリメソッドコンクリートクリエーターをインターフェイスから作成できますか、それともクラスから作成する必要がありますか?(クラスはインスタンス化をサブクラスに延期します) 抽象工場は一つだけ作成者と一つの製品を持つことができる場合は、唯一の違いである抽象工場とファクトリメソッド元のための作成者が、後者はクラスであるためにインターフェイスと作成者であることは?

9
パスワードのハッシュと暗号化の違い
この質問に現在投票されているトップは次のように述べています: セキュリティ関連ではありますが、それほどセキュリティの問題ではないもう1つの問題は完全であり、パスワードのハッシュと暗号化の違いを理解するのに失敗しています。最も一般的に見られるのは、プログラマーが安全でない「パスワードを思い出させる」機能を提供しようとしているコードです。 この違いは正確には何ですか?ハッシュは暗号化の一種だといつも思っていました。投稿者が言及している危険な機能とは何ですか?


19
パワーメーターの赤と緑の間の色を生成しますか?
私はJavaゲームを書いていて、あなたが何かを撮影するのがどれだけ難しいかについてパワーメーターを実装したいと思います。 0〜100のintをとる関数を作成する必要があります。その数値の高さに基づいて、緑(パワースケールで0)と赤(パワースケールで100)の間の色を返します。 音量調節のしくみに似ています: 緑と赤の間で色を生成するために、色の赤、緑、青のコンポーネントに対してどのような操作を行う必要がありますか? だから、私は言うことができるgetColor(80)、それはオレンジ色(R、G、Bの値)getColor(10)を返すか、より緑/黄色のRGB値を返します。 新しい色のR、G、B値のコンポーネントを増やす必要があることはわかっていますが、色が緑から赤に変化するときに何が上または下になるかはわかりません。 進捗: HSV / HSBカラースペースを使用することになりました。 私が使用した関数は: public Color getColor(double power) { double H = power * 0.4; // Hue (note 0.4 = Green, see huge chart below) double S = 0.9; // Saturation double B = 0.9; // Brightness return Color.getHSBColor((float)H, (float)S, (float)B); } 「パワー」は0.0〜1.0の数値です。0.0は明るい赤を返し、1.0は明るい緑を返します。 …

8
2つの角度の最小差
座標の周りに-PI-> PIの範囲の2つの角度が与えられた場合、それらの間の2つの角度の最小値は何ですか? PIと-PIの差は2 PIではなくゼロであることを考慮に入れてください。 例: 中心から2本の線が出ている円を想像してください。これらの線の間には2つの角度があり、それらが内側で作る角度は小さい角度、外側が作る角度は大きい角度です。両方の角度を合計すると、完全な円になります。各角度が特定の範囲内に収まる場合、ロールオーバーを考慮して、より小さい角度値は何ですか

3
オブザーバーの設計パターンと「リスナー」
GOFで説明されているオブザーバーの設計パターンは、さまざまなツールキットにあるリスナーと本当に同じものであるように思えます。概念に違いはありますか、それともリスナーとオブザーバーは本当に同じものですか? (特定のコンピューター言語の実装を探しているのではなく、設計の観点から(もしあれば)違いを理解したいだけです。はい、SOFに関する同様の質問に対するいくつかの回答があることは知っていますが、それらは根付いています特定の言語に関する特定の質問-言語の回答ではなく、デザインの回答を探しています。)


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