私は、少なくとも Big Oh 表記法の背後にある理論を理解し始めていると思います。つまり、それは関数の速度が成長する速度を測定する方法です。つまり、大きな O はアルゴリズムの効率を数値化します。しかし、その実装は別のものです。
たとえば、最良のシナリオでは、プッシュ操作とプル操作は O(1) になります。これは、スタックからの削除またはスタックへの追加に必要なステップ数が固定されるためです。値に関係なく、プロセスは同じになります。
プッシュやポップなどの一連のイベントがパフォーマンスを O(1) から O(n^2) に低下させる方法を想像しようとしています。n/2 容量の配列、n プッシュおよびポップ操作、およびフルまたは半分フルのときにその容量を 2 倍または半分にする動的配列がある場合、これらの操作が発生する順序が速度にどのように影響する可能性がありますか?プログラムが完了するのはどれですか?プッシュとポップはスタックの最上位要素で機能するため、定数から O(n^2) に効率がどのように変化するかを理解するのに苦労しています。
前もって感謝します。