Javascript - Thuật toán Merge sort

Thuật toán Merge sort

Viết chương trình JavaScript để sắp xếp danh sách các phần tử bằng cách sử dụng Merge sort.

Theo Wikipedia  - Trong khoa học máy tínhsắp xếp trộn (merge sort) là một thuật toán sắp xếp để sắp xếp các danh sách (hoặc bất kỳ cấu trúc dữ liệu nào có thể truy cập tuần tự, v.d. luồng tập tin) theo một trật tự nào đó

Ví dụ:

JavaScript, Merge Sort animation

 Merge sort

Mã nguồn:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Sorts an array of numbers, using the mergesort algorithm.</title>
	<script>
		function merge_sort(left_part,right_part) 
		{
			var i = 0;
			var j = 0;
			var results = [];

			while (i < left_part.length || j < right_part.length) {
				if (i === left_part.length) {
					// j is the only index left_part
					results.push(right_part[j]);
					j++;
				} 
			  else if (j === right_part.length || left_part[i] <= right_part[j]) {
					results.push(left_part[i]);
					i++;
				} else {
					results.push(right_part[j]);
					j++;
				}
			}
			return results;
		}

		document.write(merge_sort([1,3,4], [3,7,9]));
	</script>
</head>
<body>

</body>
</html>

Xem ví dụ

Lưu đồ thuật toán:

JavaScript Searching and Sorting Algorithm Exercises: Merge sort - Part-1

 

 



Chatbot Tư vấn Lộ trình CNTT 🤖
Chào bạn! Tôi có thể tư vấn về các lộ trình học CNTT dựa trên roadmap.w3typing.com. Hãy chọn một từ khóa dưới đây hoặc gõ câu hỏi của bạn (ví dụ: "Frontend", "Backend", "Python", "DevOps").