マージテク
https://gyazo.com/8e6ff999b39b6594c6612d3cebe58073
正式名称
データ構造をマージする一般的なテク
普通にマージ(片方のグループの要素をもう片方のグループにくっつける)を何も工夫せずに何回も繰り返すと
1つのに5つのをマージ (5回計算する)
4つのに5131つのをマージ(5131回計算する)
みたいなのになり、意地悪な操作を繰り返したとき$ O(N^2)になってしまう。
そこで「大きいのに小さいのをくっつける」という風に改良すると(事前に大小が違っていればswapするなど)、$ O(NlogN)になるというのがマージテク(たぶん)。原理の説明とかは上のリンク先に結構丁寧に書いてくれている。
つまりまとめると
ものをくっつけるときは、大きいのに小さいのをくっつけよう
ということです。マージテクでした。応用が効くね。
https://gyazo.com/6e24d18899031d60a33a55892ac59fa9