Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (41.52 KB, 2 trang )
CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT
Phương pháp chọn trực tiếp và phương pháp chèn trực tiếp
Cho dãy số 18 7 6 9 2 10 13
Trình bày chương trình biến đổi dãy số trên thành dãy số có thứ tự giảm dần theo
hai pp chọn trực tiếp và chèn trực tiếp.
• Chọn trực tiếp
- Chọn số lớn nhất: chọn số lớn nhất từ ni tới n-1
- For (1=1;i<n;i++), for(j=0,j<i;j++)
- If(a[j]<a[i]
- Pos=j;
QUICKSORT
• Sắp xếp dựa trên sự phân hoạch
Ý tưởng: sử dụng kĩ thuật đệ quy.
Dãy 1< x
Dãy 2=x
Dãy 3>x
Dãy 1 và dãy 3 có nhiều hơn 1 phần tử tiếp tục phân loại thành 3 dãy như trên(gọi
đệ quy)
Phần tử x: là một giá trị trung bình của các phần tử trong dãy. Hay chọn ngay x là
phần tử giữa
Left x right
X=a[(left+right)/2]
Left=0; right=n-1
Thuật toán:
B1: Left=0
B2: Right=n-1
B3: Left>= Right
Bước kết thúc
B4: X=a[(left+right)/2]
B5: i=left
B6: Nếu A[i]<x