コンピュータサイエンス

コンピュータサイエンスの学生、研究者、実務家のためのQ&A

3
バイナリツリーの最小の高さなぜですか?
私のJavaクラスでは、さまざまなタイプのコレクションの複雑さについて学習しています。 間もなく、私が読んでいる二分木について議論します。この本は、二分木の最小の高さはであると述べていますが、それ以上の説明はありません。log2(n+1)−1ログ2⁡(ん+1)−1\log_2(n+1) - 1 誰かが理由を説明できますか?

4
決定されたときに指数関数的な状態数を持つNFA
同等のNFAにn個の状態がある状態を持つDFAの例を作成するにはどうすればよいですか。明らかに、DFAの状態セットには、NFAの状態セットのすべてのサブセットが含まれている必要がありますが、開始方法がわかりません。私を正しい軌道に乗せるための提案はありますか?2n2n2^nnnn

2
スピアマンの順位相関係数計算の複雑さは何ですか?
スピアマンの順位相関係数を研究してきました 。ρ = ∑私(x私− x¯)(y私− y¯)Σ私(x私− x¯)2Σ私(y私− y¯)2−−−−−−−−−−−−−−−−−−−√ρ=Σ私(バツ私−バツ¯)(y私−y¯)Σ私(バツ私−バツ¯)2Σ私(y私−y¯)2\qquad \displaystyle \rho = \frac{\sum_i(x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum_i (x_i-\bar{x})^2 \sum_i(y_i-\bar{y})^2}} 2つのリストおよびy 1、… 、y nの場合。アルゴリズムの複雑さは何ですか?バツ1、… 、xんバツ1、…、バツんx_1, \dots, x_ny1、… 、yんy1、…、yんy_1, \dots, y_n アルゴリズムは減算を計算するだけなので、O (n )になることは可能ですか?んんnO (n )O(ん)O(n)

1
一連の線分が与えられたときに、二重に接続されたエッジリストを作成するにはどうすればよいですか
一連の線分によって定義される、平面に埋め込まれた特定の平面グラフ場合、各セグメントはその端点表されます。平面サブディビジョンのDCELデータ構造を構築し、アルゴリズムを記述し、それが正確であることを証明し、複雑さを示します。G(V,E)G(V,E)G(V,E)E={e1,...,em}E={e1,...,em}E= \left \{ e_1,...,e_m \right \} eieie_i{Li,Ri}{Li,Ri}\left \{ L_i,R_i \right \} DCELデータ構造のこの説明によれば、DCELの異なるオブジェクト(つまり、頂点、エッジ、面)の間には多くの接続があります。したがって、DCELの構築と保守は難しいようです。 DCELデータ構造を構築するために使用できる効率的なアルゴリズムを知っていますか?

2
DOES
あるNPNPNPへのOracleアクセスとNPNPNPだけより大きいNPNPNP?私が理解しているように、NPNPNPNPNP^ {NP}は、がシミュレートできる場合、他のNPNPNPマシンにクエリを実行できるチューリングマシンにすぎませんか?この議論に何か問題がありますか?NPNPNPNPNPNPNPNP^{NP}



1
ローズツリーの用途は何ですか?
私は最近、ローズツリーのデータ構造について知りましたが、Haskellのdata定義とそのウィキペディアの小さな説明から抜け出しただけで、ローズツリーがどのようなアプリケーションを持っているのかを理解するのに問題があります。 参考までに、Haskellのdata定義: data RoseTree a = RoseTree a [RoseTree a] Haskellに不慣れな人にとっては、これは任意の型を持つ再帰的なデータ型定義でaあり、型コンストラクタには型のリテラルがあり、aその後RoseTreeに同じ型のオプションの空の型リストが続きaます。 私の見立てでは: このデータ構造はデフォルトでは順序付けされていません(ただし、ほとんどの実際的なアプリケーションは、検索のために何らかの形式の順序付けを実装していると思います) データ構造は、単一のノードを持たなければならないグローバルルートを除いて、どの時点でもレイヤーごとに固定数のノードを強制しません。 その最小限の情報を考えると、このタイプのツリーをいつ使用できるかを理解するのに苦労しています。 タイトルの質問に加えて、ローズツリーのほとんどのアプリケーションで検索が実際に実装されている場合、これはどのように行われますか?
10 trees 

1
RAMとTMの違いは何ですか?
アルゴリズム分析では、汎用の1プロセッサランダムアクセスマシン(RAM)を想定しています。私の知る限り、RAMマシンはTuringマシンと同じくらい効率的ではありません。すべてのアルゴリズムは、チューリングマシンに実装できます。だから私の質問は: チューリングマシンがRAMマシンと同じくらい効率的である場合、なぜアルゴリズム分析にチューリングマシンを想定しないのですか? RAMとTMの違いは何ですか?

1
微分からのソーベル方程式の導出
多くのサイトでは、画像を平滑化するための畳み込みマスクとしてSobelオペレーターを提供しています。ただし、部分的な1次導関数から演算子を導出する方法を説明するサイトは1つも見つかりませんでした。誰かが派生を説明できれば、私はそれを高く評価します。

3
線形時間での有向非循環グラフのソースの検索
有向非巡回グラフ与えられた場合、頂点のは、その次数がゼロの場合のソースであり、出力アークのみを持つことを意味します。D = (V、A )D=(V、あ)D = (V,A)V ∈ Vv∈Vv \in V 与えられた有向非巡回グラフでソースを見つけるための線形時間アルゴリズムはありますか? 追加質問:線形時間ですべてのソースを見つけることができますか?

4
Turing Machine(TM)は、停止の問題がすべてのTMに適用されるかどうかを決定できますか?
このサイトでは、他のすべてのTMについても、特定のサブセットについても、TMが停止の問題を決定できるかどうかについて、さまざまなバリエーションがあります。この質問は多少異なります。 停止の問題がすべてのTMに当てはまるという事実は、TMによって決定できるかどうかを尋ねます。私は答えはノーだと思います、そして私の推論をチェックしたいと思います。 TMが停止するかどうかを決定するTMで構成される言語としてメタ停止言語を定義します。LMHLMHL_{MH} LMH={M:∀M′,wM(M′,w) accepts if M′(w) halts, rejects otherwise}LMH={M:∀M′,wM(M′,w) accepts if M′(w) halts, rejects otherwise}L_{MH} = \{ M : \forall_{M',w} M(M', w) \text{ accepts if $M'(w)$ halts, rejects otherwise}\} による停止問題に。 LMH=∅LMH=∅L_{MH}= \emptyset より正確に述べるしたがって、タイトルの質問:それはかどうかを決定可能れる?LMH=∅LMH=∅L_{MH} = \emptyset ライスの定理によれば、re言語が空であるかどうかは決定できません。 どちらの場合も、がreであるかどうかは、L M H = ∅であるかどうかは決定できません。LMHLMHL_{MH}LMH=∅LMH=∅L_{MH} = \emptyset したがって、かどうかは決定できません。LMH=∅LMH=∅L_{MH} = \emptyset これは、停止の問題がすべてのTMに適用されるかどうかをTMが判断できないことを証明します。 私の理解は正しいですか? 更新:私は、直感的に正しいと思われる「証明」のいくつかの定義について、TMが「停止の問題を証明」できないことを示しようとしています。以下は、これが正しいと思う理由の説明です。 …

1
Coqにlet表現がコア言語で含まれているのはなぜですか
Coqには、コア言語のlet式が含まれています。let式を次のようなアプリケーションに変換できます。タイプ チェック時にlet x : t = v in b ~> (\(x:t). b) v 値vを使用できないため、これが常に機能するとは限りませんb。ただし、これは、フォームのアプリケーションのタイプチェックを特別なケーシングで簡単に修正できます(\(x:t). b) v。これにより、タイプチェック中に特殊なケースを犠牲にしてlet式を削除できます。Coqインクルードにlet式がまだ含まれているのはなぜですか?それらには他の利点がありますか(特別なケースを必要としない以外に)?

1
非決定性有限オートマトン| Sipserの例1.16
私はSipser Book(第2版)を作業していて、この例に出くわしましたが、理解できません。この本には、このNFAが空の文字列εϵ\epsilon受け入れることが記載されています。 なぜこれが事実であるかを誰かが私に説明してくれませんか? 私の理解では、εϵ\epsilonは受け入れ状態ではないq3q3q_3移動します。

1
幅優先検索が時間実行されると言うのはなぜですか?
グラフの幅優先検索(BFS)の実行時間はO(| V | + | E |)であると(Wikipediaなどで)よく言われます。ただし、接続されたグラフには| V | \ leq | E | +1があり、接続されていないグラフであっても、BFSは開始頂点を含むコンポーネントの外側の頂点を決して見ません。そのコンポーネントには最大で| E |が含まれます エッジなので、最大で| E | +1個の頂点が含まれ、それらの頂点のみがアルゴリズムがアクセスします。G=(V,E)G=(V,E)G=(V,E)O(|V|+|E|)O(|V|+|E|)O(|V|+|E|)|V|≤|E|+1|V|≤|E|+1|V|\leq |E|+1|E||E||E||E|+1|E|+1|E|+1 これは、|V|+|E|≤2|E|+1|V|+|E|≤2|E|+1|V|+|E|\leq 2|E|+1であることを意味するので、実行時間はO(|E|)O(|E|)O(|E|)だけであると言ってみませんか? これは、Disjkstraのアルゴリズムの実行時間に関する質問へのコメントで生じました。

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