問題タブ [theory]

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.

0 投票する
5 に答える
24956 参照

math - 水差しの問題を解決する

予備数論に関するいくつかの講義ノートを読んでいるときに、次のように要約される水差し問題( 2つの水差しを使用)の解決策に出くわしました。

GCD(a,b) は a と b の可能な限り最小の線形結合であるという 2 つの数値の GCD の特性を使用して、Q が an*GCD(a, b) Q=sA + tB であるため、ここで:

そして、その解決方法を議論する

ソリューションの別のモデルは、人工知能でよく使われる状態空間探索問題としてさまざまな状態をモデル化することです。

私の質問は次のとおりです。ソリューションをモデル化する他の既知の方法とその方法は何ですか? グーグルはあまり吐きませんでした。

0 投票する
1 に答える
154 参照

oop - クラス データの検証

私のアプリでは、一連の検証クラスを作成して、たとえば、ユーザーが入力したクラスの Name プロパティ (WinForm から) がデータベース内の varchar() のサイズを超えていないことを確認しています。

現在、名前フィールドが大きすぎる場合、検証コードはカスタム例外をスローします。(カスタム例外は、UI によってキャッチされると、通常の例外の一般的なエラー フォームとは対照的に、MessageBox にカスタム例外メッセージを表示します。) 検証クラスはアプリのクラス ライブラリにあり、Friend としてスコープされます。フローは次のようになります。

  • WinForms によって使用される DLL のパブリック サービス レイヤー --(calls) --> Friend Validation Layer
  • WinForms によって使用される DLL のパブリック サービス レイヤー --(calls) --> 検証が成功した場合のフレンド データ アクセス レイヤー。

簡単な例:

検証が失敗したときに検証レイヤーがカスタム例外を UI にスローするのは「スマートな」設計ですか?

Validation Layer から True/False を返すだけで、何が失敗したかを示す文字列メッセージを返し、Service Layer でスローされた例外を処理する方が良い設計ですか?

Validation Layer から True/False を返すだけで、Services Layer が True/False を UI にバブルアップさせ、何が失敗したかの文字列メッセージを表示する方が良い設計ですか?

オブジェクト指向のアプローチを維持しようとしています。私の意見では、カスタム例外をスローしても OOP の原則が破られることはありませんが、他の意見が欲しいです :)

0 投票する
11 に答える
783 参照

language-agnostic - 理論、リバーシブルパーサーの例?

抽象構文木を取り、その逆ではなくコードを生成するパーサーの背後にある例と理論について知っている人はいますか?数学的には、少なくとも直感的には、コード-> ASTの機能は可逆的であると思いますが、ドラゴンブックなどの通常のリソースに加えて、この作業/例を見つけようとしています。何か案は?

0 投票する
3 に答える
504 参照

multithreading - あなたはこの宿題をどのように/書きますか? (理論上)

この宿題を誰かにやってもらうように頼んでいるわけではありませんが、C# とスレッド化の実用的な入門書として非常に優れているので取り上げますが、同時に、少し単純すぎると感じています。

これは本当にスレッドを教える最良の方法ですか? この演習で「失われた」主要なスレッド化の概念は何ですか?初めてスレッドを使用する新しいプログラマーが観察できない可能性があるものは何ですか?

私はスレッド化について多くの理論的知識を持っていますが、過去に自分で多くのことをする必要はありませんでした.それを書くときに誰かが私に警告がありますか?

ここに元の課題へのリンクがあります

目標のテキストは次のとおりです。

1) スレッドセーフな汎用循環キュー クラスを作成し、それを使用する GUI を作成します (次のセクションを参照)。このコンテキストでは、スレッド セーフとは、データの破損を避けるために、キューの内容を変更する各操作 (メソッド) を一度に 1 つのスレッドだけで実行する必要があることを意味します。循環キューは、キューの先頭と末尾が配列内のインデックスである固定サイズの配列として実装されます。キューがいっぱいになると、要素が追加されるにつれてキューの最初と最後がより高い値にシフトし、最終的には配列の最初のインデックスにラップアラウンドしてメモリを再利用します。このクラスは、操作が無効な場合、呼び出し元に例外 (以下で指定) もスローする必要があります。

2) プロデューサー/コンシューマー方式で 2 つのスレッドを制御する GUI を作成します。GUI は、プロデューサー スレッドとコンシューマー スレッドの両方を開始、開始、停止し、GenericCircularQueue を変更する速度を制御できます。

0 投票する
15 に答える
41128 参照

algorithm - 数値の絶対値を取得する最速の方法はどれですか

数値の絶対値を返す演算を実装する最速の方法はどれですか?

また

実際、この質問は、どのくらい速いかif(そしてなぜお願いしますか) として翻訳できます。

私の大学のプログラミングの教授は、s は非常に遅いので避けるようにいつも私に言いましたifが、どのくらい遅いのか、そしてその理由をいつも聞くのを忘れていました。ここに誰か知っていますか?

0 投票する
3 に答える
342 参照

windows - オーディオ操作の学習

CakeWalk、Cubase、ProTools などのアプリケーションがどのように構築されているかを知りたいです。この種の開発を学ぶための優れたリソースはありますか?

資力

0 投票する
3 に答える
628 参照

language-agnostic - グラフの推移閉包を計算するために必要な漸近実行時間?

グラフの推移閉包は、たとえばここで定義されます: http://mathworld.wolfram.com/TransitiveClosure.html

O(n ^ 3)で簡単に可能です。ここで、nは頂点の数です。時間O(n^2)でできるかどうか疑問に思っていました。

0 投票する
5 に答える
956 参照

algorithm - 範囲内のアイテムを見つけるために最適化されているソートされたデータ構造はどのようなものですか?

日付を持つオブジェクトがたくさんあり、2 つの任意の日付の間にあるすべてのオブジェクトを定期的に検索したいとします。これにはどのようなデータ構造が適していますか?

0 投票する
4 に答える
736 参照

count - 可算質問(理論)

明日GREを受験しているのですが、質問がありました。回答キーに基づいて、この模擬テストでは、Nから{0、1}までのすべての関数のセットは可算ではないと述べています。

次のように、自然数をこれらの関数にマッピングできませんか?

つまり、f4(1)= 0、f4(2)= 0、f4(3)= 1、およびf4(その他)=0です。これは最終的にこれらの機能のすべての可能な種類をカバーしませんか?そして、自然数をこのセットに確実にマッピングすることができます。

0 投票する
2 に答える
4195 参照

algorithm - 最長単純パス

したがって、グラフ内の最長の単純なパスを見つける問題は NP 困難であることを理解しています。これは、エッジの重みを 1 に設定し、最長の単純なパスの長さがエッジ。

私の質問は次のとおりです。グラフを取得し、最大エッジ ウェイト を見つけ、各エッジ ウェイトをmに置き換え、標準の最短パス アルゴリズムを実行した場合、どのようなパスが得られますか? これは明らかに最長の単純なパスではありません。そうであれば、NP = P であり、そのようなものの証明はもう少し複雑な =P になると思います。wm - w