問題タブ [clrs]

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 投票する
1 に答える
53 参照

c++ - このヒープソートの実装が機能しない理由を誰か説明できますか?

私はこれに数時間を費やしましたが、C++ オブジェクト指向プログラミングは初めてなので、おそらくいくつかの関数引数が本来あるべきように渡されていませんが、それを見つけることができません。このコードでは、次の出力が得られます: 1 2 7 10 3 2 4 15

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

algorithm - 赤黒木の葉とは何ですか?

CLRSで赤黒木を研究しています。赤黒木の性質が論じられている部分について2つ質問があります。CLRS からの一節は次のとおりです。

赤黒木は、次の赤黒特性を満たす二分木です。

  1. すべてのノードは赤または黒のいずれかです

  2. 根元が黒い

  3. すべての葉(NIL)は黒い

  4. ノードが赤の場合、その子は両方とも黒です

  5. ノードごとに、ノードから子孫の葉へのすべての単純なパスには、同じ数の黒いノードが含まれます

まず、赤黒木は二分木と書いてあります。なぜ彼らは赤黒木が二分探索木だと言わなかったのか. 赤黒ツリーの全体的な目的は、検索ツリーのバランスを維持してlogN操作を保証することだと思いました。次に、なぜ赤黒木の葉がNILなのですか?

通常の二分木では、これに慣れています。

この場合、3、2、および 7 がリーフです。CLRS で葉が Nil として描かれているのはなぜですか?

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

algorithm - クリティカル パスの重みによって、すべてのジョブを実行する合計時間の下限が決まるのはなぜですか?

Introduction to Algorithms P657、第 3 版には、次のように記載されています。

クリティカル パスは、一連のジョブを実行するための最長時間に対応する、dag を通る最長パスです。したがって、クリティカル パスの重みによって、すべてのジョブを実行する合計時間の下限が決まります。

最初の文はわかりました。しかし、2番目の文では、

クリティカル パスは下限を提供します

すべてのジョブを実行する合計時間の上限ではなく下限を提供するのはなぜですか?

クリティカルパスを誤解しているのではないかと思います??

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

algorithm - 成長の順序を計算できることが重要になるのはいつですか?

私はCLRSの第 2 章と第 3 章を読んでいますが、特に各章の最後にある問題で頻繁に行き詰まります。このようなオンラインのソリューションを理解できません: http://clrs.skanev.com/02/problems/01.html

この本は大学のCSの教科書の中で最もポピュラーな本だと聞きましたが、挿入ソートはこの成長順、マージソートはその成長順というように、難しいところは飛ばして大事なことだけ覚えて先に進む人がいるでしょうか? ?

多くの有用なアルゴリズムに精通しているだけで、コンピューター サイエンスの知識が、コンピューター サイエンスの学位を持っている一般的な人たちと同程度になるのではないでしょうか?

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

algorithm - CLRS 挿入ソートの実装

CLRS で Insertion Sort アルゴを使用していました。どちらが正しい実装かわかりません -

CLRS からのアルゴリズム - CLRS 疑似コード

実装 1 :

実装 2:

ありがとう

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

python - Pythonマージソートの問題

Pythonでのマージソートの実装でどこが間違っているのかわかりません。

私の現在のマージソートの実装を壊しているものを誰かが指摘できれば、本当に感謝しています。