Thuật toán sắp xếp trộn Merge sort là gì? Cách viết thuật toán sắp xếp trộn đơn giản, nhanh gọn. Xem thêm giải thuật merge sort c++.
Merge sort là gì? Thuật toán sắp xếp trộn Merge sort trong C/C++
Merge sort hay còn được gọi là thuật toán sắp xếp trộn được hình thành và phát triển sự trên giải thuật chia để trị (Divide and conquer). Thuật toán này sẽ chia mang ra thành từng phần, sau đó tiến hành sắp xếp và trộn vào với nhau.
Sắp xếp trộn (Merge sort)
Thuật toán Merge sort chia mảng dữ liệu thành hai nửa (có thể bằng nhau hoặc chênh nhau 1 phần tử nếu mảng lẻ), sau đó lần lượt tiến hành sắp xếp trên từng phần một, sau đó kết hợp chúng lại với nhau thành một mảng hoàn chỉnh theo thứ tự sắp xếp.
Bước 1: Tách đôi mảng ra làm hai phần bằng hoặc tương đương nhau và lưu vào 2 mảng tạm
Bước 2: Dùng đệ quy để chia nhỏ các phần đó ra cho đến khi không thể chia được nữa thì dừng lại
Lưu ý: Trong trường hợp bị lẻ một giá trị thì chúng ta xem như giá trí đó đã được sắp xếp.
Bước 3: Sau khi chia nhỏ ra, bạn tiến hành sắp xếp các giá trị của hai phần lại và gộp lại thành một mảng chung
Bước 4: Kết hợp các giá trị con đã được sắp xếp với nhau thành một mảng mới.
Bước 5: Sau khi kết hợp lại, ta chỉ cần sắp xếp chúng để tiếp tục cho lần kết hợp kế tiếp.
Ví dụ thuật toán sắp xếp trộn (Merge sort)
Code: Thuật toán sắp xếp trộn merge sort
Gợi ý:
Input và Output
Hy vọng bài viết này sẽ giúp bạn làm chủ được Merge Sort để ứng dụng vào công việc một cách hiệu quả nhất nhé. Chúc các bạn thực hiện thành công!
Trung tâm chuyên sửa chữa thay thế, bảo hành miễn phí, nhượng quyền thương hiệu trungtambaohanh.com + marketing.