問題タブ [computer-science]
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.
computer-science - チューリングマシンとは?
チューリングマシンとは何ですか?なぜ人々はそれについて言及し続けるのですか? IBM PC だけで計算を行うことができます。なぜ誰もがこれらのマシンを気にするのですか?
language-agnostic - ガベージ コレクションは明示的なメモリ管理と共存できますか?
たとえば、C# 4 に「delete」キーワードを含めるとします。参照ベースのシステムにより、ワイルド ポインターがまったくないことを保証できますが、ガベージ コレクターに依存することはできますか? ?
それが起こっている可能性を確認できる唯一の方法は、メモリ位置への参照の代わりに、参照が実際のオブジェクトへのポインタのテーブルへのインデックスになる場合です。ただし、それが壊れる条件がいくつかあると確信しており、タイプの安全性を破ったり、ポインターがぶら下がったりする可能性があります。
編集: .net だけについて話しているわけではありません。例としてC#を使用していました。
computer-science - 興味深い修士号プログラムはありますか?
私は来年の秋に修士号を申請していますが、CS の興味深い/やりがいのある修士号について誰か提案があるかどうか疑問に思っていました。適切な大学を選ぶことは重要ですが、才能のある/創造的な人々が交流し、学ぶことができる修士号を選ぶことはさらに重要だと思います.
背景: AI、離散数学、コンパイラ、オペレーティング システム、データ構造、暗号化、または c/c++ コースに関連するものを受講したことがない
探しているもの: hci の研究とアプリケーション、モバイル技術と社会的相互作用の未来、具体的で抽象的なものではないもの、音楽/アート/デザインを副専攻にできる場所
インスピレーション: ランディ パウシュ、ジョニー リー、ブレイズ アグエラ、ジェフ ハン、42entertainment、ジョナサン ハリス (ted.com)
binding - 動的バインディングについて
動的バインディングの実装方法と、静的バインディングと動的バインディングの違いを理解しています。動的バインディングの定義に頭を悩ませているだけです。それ以外は基本的にランタイムバインディングタイプです。
language-agnostic - タイプセーフとは?
「タイプセーフ」とはどういう意味ですか?
computer-science - base 36 の後に使用される記号
Hex (16 進数) は 0-9A-F を使用し、(ここでは想定しています) 17 進数は 0-9A-G などを使用します。0-9A-Z がすべて使用されたときに使用されるシンボル。
computer-science - あらゆる問題を解決する間接性のレベル
コンピュータサイエンスにおける「間接性のレベルがすべての問題を解決する」という言葉はどういう意味ですか?
data-structures - 二分探索木の定義で重複キーは許可されますか?
二分探索木の定義を見つけようとしていますが、至る所でさまざまな定義を見つけ続けています。
特定のサブツリーについて、左側の子キーはルート以下であると言う人もいます。
特定のサブツリーの場合、正しい子キーはルート以上であると言う人もいます。
また、私の古い大学のデータ構造の本には、「すべての要素にはキーがあり、同じキーを持つ要素は 2 つとない」と書かれています。
bstの普遍的な定義はありますか? 特に、同じキーの複数のインスタンスを持つツリーをどうするかに関して。
EDIT:多分私は不明確でした、私が見ている定義は
1) 左 <= ルート < 右
2) 左 < ルート <= 右
3) 重複キーが存在しないように、左 < ルート < 右。
computer-science - 最初の NP 完全問題はどのようにして NP 完全であることが示されたのですか?
NP-Complete のウィキペディアのエントリから:
「いくつかの新しい問題が NP 完全であることを証明する最も簡単な方法は、最初にそれが NP であることを証明し、次に既知の NP 完全問題をそれに還元することです。」
私はこれを理解していると確信しています: 問題がある場合、次の場合にそれが NP-Complete であることを示すことができます:
NP であることを示します (問題の解は、非決定論的チューリング マシンで多項式時間で検証できます)。
すでに NP 完全であることがわかっている問題を新しい問題に「還元」できることを示す
では、私の質問は、最初の NP 完全問題がどのようにして NP 完全であることが「証明」されたのかということです。かつて、既知の NP 完全問題のセットはゼロであったに違いありません。これにより、上記のプロセスのステップ 2 に頼ることができなくなります。
これは、私が気付いていない証明のための別の方法があると私に思わせます。それか、既知の多項式時間解がないために、NP完全なプロパティ全体が特定の問題に対して「想定」されている可能性があります。(実際、これを書いたので、そうであっても驚かないでしょうが、いずれにせよ、グルのフィードバックが欲しいです)。
algorithm - 単一の権限のあるコレクションを参照せずに、一連のオブジェクトのサイズを追跡するエレガントな方法は何ですか?
更新: この質問は、デザインの原則、エレガンス、意図の表現、特にデザインの選択によって他のプログラマーに送信される「シグナル」のコンテキストでお読みください。
オブジェクトのセットの 2 つの「ビュー」があります。1 つは、文字列値によってオブジェクトにインデックスを付けるディクショナリ/マップです。もう 1 つは、オブジェクトを序数 (順序付け整数) でインデックス付けするディクショナリ/マップです。オブジェクト数の信頼できる情報源として機能できるオブジェクト自体の「マスター」コレクションはありませんが、2 つの辞書には常にすべてのオブジェクトへの参照が含まれている必要があります。
新しいアイテムがセットに追加されると、参照が両方の辞書に追加され、オブジェクトの新しい合計数の影響を受けるいくつかの処理を行う必要があります。
オブジェクトのセットの現在のサイズを参照する信頼できる情報源として何を使用すればよいですか? 私のすべてのオプションには、ある次元または別の次元で欠陥があるようです. 辞書の 1 つを一貫して参照することはできますが、それは、その辞書が他の辞書よりも優れていることを示唆するものです。信頼できるリストとして機能するオブジェクトの単純なリストである 3 番目のコレクションを追加することもできますが、これにより冗長性が増します。実行中のカウントを格納するのは最も簡単に思えますが、冗長性も増し、コレクションの自己追跡カウントをオンザフライで参照するよりも脆弱です。
より小さな悪を選択することを避けることができる別のオプションはありますか、それともエレガンスの妥協を受け入れる必要がありますか?