cấu trúc dữ liệu và giải thuật merge sort_MergeSort.pptx
datcao24042k4
0 views
41 slides
Sep 11, 2025
Slide 1 of 41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
About This Presentation
cấu trúc dữ liệu và giải thuật merge sort
Size: 1.52 MB
Language: none
Added: Sep 11, 2025
Slides: 41 pages
Slide Content
ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI NHÓM 2 Môn học : Cấu trúc dữ liệu và giải thuật Sắp xếp Trộn trực tiếp (Merge Sort)
Giới thiệu thuật toán Merge Sort Merge sort là một thuật toán chia để trị. Thuật toán này chia mảng cần sắp xếp thành 2 nửa. Tiếp tục lặp lại việc này ở các nửa mảng đã chia. Sau cùng gộp các nửa đó thành mảng đã sắp xếp. Hàm merge() được sử dụng để gộp hai nửa mảng. Hàm merge(arr, l, m, r) là tiến trình quan trọng nhất sẽ gộp hai nửa mảng thành 1 mảng sắp xếp, các nửa mảng là arr[l…m id ] và arr[m id +1…r] sau khi gộp sẽ thành một mảng duy nhất đã sắp xếp.
4 2 7 9 a [n] = 10 5 8 6 M ô tả thuật toán : Ta nhập vào 1 mảng như sau :
4 2 7 9 left mid right a [n] = 4 2 7 9 10 5 8 6
4 2 7 9 10 5 8 6 left mid right a [n] = 4 2 7 9 left mid right 4 2 left mid right
4 2 7 9 10 5 8 6 left mid right a [n] = 4 2 7 9 left mid right 4 2 left mid right
4 2 7 9 10 5 8 6 left mid right a [n] = 2 4 left mid right 7 9
4 2 7 9 10 5 8 6 left mid right a [n] = left mid right 7 9 left mid right 2 4 7 9
4 2 7 9 10 5 8 6 left mid right a [n] = 2 4 7 9 left mid right 7 9 left mid right
4 2 7 9 10 5 8 6 left mid right a [n] = left mid right 2 4 7 9
4 2 7 9 10 5 8 6 left mid right a [n] = left mid right 2 4 7 9
2 4 7 9 left mid right a [n] = 10 5 8 6
2 4 7 9 left mid right a [n] = 10 5 8 6 10 5 8 6 left mid right
2 4 7 9 left mid right a [n] = 10 5 8 6 10 5 left mid right 8 6 10 5 left mid right
2 4 7 9 left mid right a [n] = 10 5 8 6 10 5 left mid right 8 6 10 5 left mid right
2 4 7 9 left mid right a [n] = 10 5 8 6 5 10 left mid right 8 6
2 4 7 9 left mid right a [n] = 10 5 8 6 5 10 left mid right 8 6 8 6 left mid right
2 4 7 9 left mid right a [n] = 10 5 8 6 5 10 left mid right 8 6 8 6 left mid right
2 4 7 9 left mid right a [n] = 10 5 8 6 5 10 left mid right 6 8
2 4 7 9 left mid right a [n] = 10 5 8 6 5 10 left mid right 6 8
2 4 7 9 left mid right a [n] = 5 6 8 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = 2 4 7 9 5 6 8 10 a [n] = i j k
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 7 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 9 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 5 6 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 7 6 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 7 6 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 7 8 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 8 7 8 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 9 7 8 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 9 7 8 6 5 10
2 4 7 9 5 6 8 10 left mid right 2 4 7 9 5 6 8 10 L [n1] = R [n2] = a [n] = a [n] = i j 2 k 4 9 7 8 6 5 10