最小ヒープを使用して k 番目に大きい要素を見つけることについて質問があります。アルゴリズムは次のとおりです。
最初の k 要素を取り、最小ヒープを構築します
S の最小の要素を Sk とします。
残りの nk 個の要素から、新しい要素を見てください。
新しい要素が Sk よりも大きい場合は、S でそれを置き換え、ヒープを並べ替えます。
S は新しい最小要素を持つことになります。
他のすべての要素を見た後、Skが答えです
このアルゴリズムがわかりません。たとえば、数値を 1、2、3、4 とします。4 番目に大きい 4 を見つけたいとします。しかし、アルゴリズムを使用する場合、最初の 4 つの要素を取得して最小ヒープを構築すると、Sk は 1 になります。
私は何を間違っていますか?誰かが助けてくれれば幸いです。ありがとう