Chương 5: CÁC GIẢI THUT SẮP
XẾP VÀ TÌM KIẾM
Data structures and Algorithms
2/18/2021 Cấu trúc dữ liệu và giải thuật 1
Bài toán sắp xếp trên cấu trúc mảng
Sắp xếp bản
Sắp xếp kiểu lựa chọn (Selection - sort)
Sắp xếp chèn/thêm dần (Insertion- sort)
Sắp xếp đổi chỗ/nổi bọt (Exchange/Bubble - sort)
Sắp xếp nâng cao (sắp xếp nhanh)
Sắp xếp nhanh (Quick-sort)
Sắp xếp trộn (Merge-sort)
Sắp xếp vun đống (Heap-sort)
2/18/2021 Cấu trúc dữ liệu và giải thuật 2
Điều kiện bài toán sắp xếp
y A n phần tử : A[1], A[2],…,A[n]
Sắp xếp y A theo thứ tự tăng dần hoặc giảm
dần
2/18/2021 Cấu trúc dữ liệu và giải thuật 3
Sắp xếp kiểu lựa chọn
(Selection - sort)
No.
Min
A[1]
32
A[2]
51
A[3]
27
A[4]
83
A[5]
66
A[6]
11
A[7]
45
A[8]
75
1
11
11
51
27
83
66
32
45
75
2
27
11
27
51
83
66
32
45
75
3
32
11
27
32
83
66
51
45
75
4
45
11
27
32
45
66
51
83
75
5
51
11
27
32
45
51
66
83
75
6
66
11
27
32
45
51
66
83
75
7
75
11
27
32
45
51
66
75
83
2/18/2021 Cấu trúc dữ liệu và giải thuật 4
Chiến thuật: Chọn số nhỏ nhất trong y chưa được sắp xếp đổi chỗ với số đang
chiếm vị trí đầu tiên của y y
Giải thuật sắp xếp lựa chọn
Bước 1: Thiết lập Min = 1 vị trí đầu tiên của
y
Bước 2: Tìm kiếm phần tử nhỏ nhất trong
danh sách
Bước 3: Tráo đổi giá trị tại vị trí Min
Bước 4: Tăng Min để tr tới vị trí tiếp theo
Bước 5: Lặp lại từ bước 2 cho đến khi danh
sách được sắp xếp
2/18/2021 Cấu trúc dữ liệu và giải thuật 5