CHƯƠNG 3
SP XP VÀ TÌM KIM NÂNG CAO
GV. Ngô Công Thng
B môn Công ngh phn mm
Khoa Công ngh thông tin
Website: dse.vnua.edu.vn/ncthang
Email: ncthang@vnua.edu.vn
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03
Ni dung Chương 3
1. Sp xếp nhanh (Quick Sort)
2. Sp xếp vun đống (Heap Sort)
3. Sp xếp hòa nhp (Merge Sort)
4. Tìm kiếm nh phân
5. Cây nh phân tìm kiếm
3.2
1. Sp xếp nhanh (Quick Sort)
1.1. Phương pháp
•Sp xếpnhanh (quick sort) n được sp xếp phân
đon(partition sort).
Ý tưởng thut toán:
Chn ngu nhiên mt phn t x.
Duyt t bên trái mng cho ti khi có mt phn t
ai>=x
Sau đó duyt t bên phi mng cho ti khi có mt
phn t aj=<x
Đổi ch aivà aj
Tiếp tc duyt và đổi ch cho ti khi 2 phía gp nhau.
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.3
1.1. Phương pháp (tiếp)
•Kết qu mng được chia thành 2 phn:
bên trái các phn t < x, bên phi các
phn t > x.
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.4
Th tc sp xếp nhanh
Procedure Q_sort(L,R);
1) If L>=R then return;
2) i:=L; j:=R ; k:=(L+R) div 2;
3) x:=a[k];
4) Repeat
While a[i] <x Do i:=i+1;
While a[j] >x Do j:=j-1;
If i<j then a[i] a[j]
Until i=j
5) Call Q_sort(L,j-1); { Thc hin trên na <x }
6) Call Q_sort(j+1,R); { Thc hin trên na >x }
Return
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.5
1.2. Đánh giá
Người ta đã chng minh được thi gian trung
bình thc hin gii thut là:
Ttb= O(nlog2n)
Như vy, vi n khá ln Quick sort hiu lc
hơn 3 thut gii trên.
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.6
2. Sp xếp vun đống (Heap Sort)
2.1. Phương pháp
Mt cây nh phân có chiu cao h được gi là
đống khi:
Là cây nh phân hoàn chnh mà các nút lá mc h-
1 phi nm phía bên trái.
Khoá nút cha bao gi cũng ln hơn khoá nút
con.
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.7
2. Sp xếp vun đống (Heap Sort)
2.1. Phương pháp
Thut toán sp xếp vun đống chia làm 2 giai
đon.
Giai đon 1: To đống.
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.8
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.9
Ngô Công Thng Bài ging Cu tc d liu và gii thut 2 -Chương 03 3.10