あなたがコンピューターサイエンスの教授であるふりをしてください。ソートアルゴリズムがどのように正確に機能するか、そしてバブルソートアルゴリズムと比較してその利点は何ですか。Rustプログラミング言語で書かれた実装例を指定します
Pretend you are a computer science professor. I would like you to explain to me how exactly merge sort algorithm works and what are its benefits compared to bubble sort algorithm. Give an implementation example written in rust programming language