Professional Documents
Culture Documents
8 3 7 6 2 5
Tại mỗi giá trị i, tìm giá trị nhỏ nhất A[min] trong đoạn [i+1, n-1] và hoán vị A[min] với A[i]
2 3 7 6 8 5
2 3 7 6 8 5
2 3 5 6 8 7
2 3 5 6 8 7
2 3 5 6 7 8
Phương pháp chèn trực tiếp Insertion sort
A = {8, 3, 7, 6, 2, 5} và n=6
0 1 2 3 4 5
8 3 7 6 2 5
Bước 1: Chèn A[1]=3 vào đoạn [0,0] sao cho ta được đoạn [0,1] có thứ tự
0 1 2 3 4 5
3 8 7 6 2 5
Bước 2: Chèn A[2]=7 vào đoạn [0,1] sao cho ta được đoạn [0,2] có thứ tự
0 1 2 3 4 5
3 7 8 6 2 5
Bước 3: Chèn A[3]=6 vào đoạn [0,2] sao cho ta được đoạn [0,3] có thứ tự
0 1 2 3 4 5
3 6 7 8 2 5
Bước 4: Chèn A[4]=2 vào đoạn [0,3] sao cho ta được đoạn [0,4] có thứ tự
0 1 2 3 4 5
2 3 6 7 8 5
Bước 5: Chèn A[5]=5 vào đoạn [0,4] sao cho ta được đoạn [0,5] có thứ tự
0 1 2 3 4 5
2 3 5 6 7 8
Phương pháp đếm Counting Sort
Mảng A = {8, 3, 7, 6, 8, 5}
0 1 2 3 4 5
8 3 7 6 8 5
Bước 1: Khởi tạo giá trị các phần tử của mảng B = {0}
0 1 2 3 4 5 6 7 8
Mảng B 0 0 0 0 0 0 0 0 0
C[B[A[i]]] = A[i]
Mảng A = {8, 3, 7, 6, 8, 5}
0 1 2 3 4 5
8 3 7 6 8 5
Tại A[i] = 5 B[A[i]]-- C[B[A[i]]] = A[i]
i=5: → B[A[i]]=B[5]-1=2-1=1 → C[1] = 5
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5
Mảng B 0 0 0 1 1 1 3 4 6 Mảng C 5
0 09 009,083
1 177
2 352 286
3 83 352
5 352
6 286
7 177 177
8 83,286
9 9
➔ Kết quả sắp xếp hàng đơn vị: 352, 83, 286, 177, 9
➔ Kết quả sắp xếp hàng chục: 9, 352, 177, 83, 286
➔ Kết quả sắp xếp hàng trăm: 9, 83, 177, 286, 352
Thuật toán sắp xếp
- Tên thuật toán: TA, TV
- Ý tưởng, độ phức tạp thuật toán
- Thuật toán: input / Output và các bước thuật toán
- Code trên mảng 1 chiều hoặc trên dslk
- Quá trình tính toán