プリムのアルゴリズムを勉強しています。コード内に、カットを横切る次の頂点が に属する頂点のセットになる部分がありますMST
。それをしている間、「出発する頂点に隣接する他のセットのすべての頂点を更新する」必要もあります。これは からのスナップショットですCLRS
:
興味深い部分は行番号にあります。11. でも、ここではヒープを使っているので、最小限の要素しかアクセスできませんよね ( heap[0]
)? では、ヒープから頂点を検索して更新するにはどうすればよいでしょうか? 頂点が最小の頂点ではなく、線形検索を除いて頂点がどこにあるかを知っている場合でも、どうすればよいでしょうか?