2

次のトーナメントソート(置換選択)を理解しようとしています。これは、メインメモリでソートを行うためのソートアルゴリズムです。

これがどのように機能するかについての説明はありますか?

Keep two heaps in memory, H1 and H2
read B-2 pages of records, inserting into H1;  #B is buffer size

while (records left) {
  m = H1.removemin();  
  put m in output buffer;
  if (H1 NOT empty)
       read in a new record r (use 1 buffer for input pages);
       if (r < m)  
           H2.insert(r);
       else        
           H1.insert(r);
 else
      H1 = H2;  
      H2.reset();  
      start new output run; 
}
H1.output();  
start new run;  
H2.output();
4

1 に答える 1