Slide 1

Slide 1 text

Merge Sort Hiroki Kumamoto

Slide 2

Slide 2 text

Merge sort • ഑ྻΛ̎ͭʹ෼͚Δ • ͦΕͧΕΛιʔτʢ࠶ؼతʣ • ̎ͭΛϚʔδ͢Δ • ιʔτࡁΈͷ̎ͭͷ഑ྻΛϚʔδͯ͠ιʔτ ࡁΈͷ΋ͷΛ࡞Δͷ͸؆୯ʂ

Slide 3

Slide 3 text

Merge sort • NݸͷཁૉΛ࣋ͭ഑ྻΛιʔτ͢Δͱ͖ͷ • ൺֱͷճ਺ C (N) • C(N) <= C([N/2]) + C([N/2]) + N for N > 1 • C(1) = 0 • -> N log N • ഑ྻ΁ͷΞΫηε • A(N) <= A([N/2]) + A([N/2]) + 6N for N > 1 • A(1) = 0 • -> 6 N log N • memory࢖༻ྔ: N

Slide 4

Slide 4 text

Merge sort • Improvements • ༨෼ͳ഑ྻΛ࢖Θͣʹin-place Ϛʔδ • ࠷ॳ͸insertion sort Λ࢖͏ (7 ݸ·Ͱ) • ͢ͰʹιʔτࡁΈͳΒ్தͰεΩοϓ

Slide 5

Slide 5 text

• Visualize Demo • http://kumabook.github.io/playground/ index.html#merge-sort