Shell sort
Shell sort
So sánh a[5] =11 > a[7] = 8
Swap (a[5],a[7])
3 1 13 7 10 8 16 11
3. d=1
So sánh a[0] = 3 > a[1] =1
Swap (a[0],a[1])
13 13 7 10 8 16 11
So sánh a[1] = 3 < a[2] =13
!Swap (a[1],a[2])
1 3 13 7 10 8 16 11
So sánh a[2] =13 > a[3] = 7
Swap (a[2],a[3])
1 3 7 13 10 8 16 11
So sánh a[3] =13 > a[4] =10
Swap (a[3],a[4])
1 3 7 10 13 8 16 11
So sánh a[4] =13 > a[5] = 8
Swap (a[4],a[5])
1 3 7 10 8 13 16 11
Shell sort
Shell sort
So sánh a[5] =13 < a[6] = 16
!Swap (a[5],a[6])
1 3 7 10 8 13 16 11
So sánh a[6] = 16 > a[7] =11
Swap (a[6],a[7])
1 3 7 10 8 13 11 16
ánh giá thut toán:
- Tương t(%)*+,-%%.ư%/0.)11-*+2ó s"ln so
sánh gim hơn nhi3u
- O(n
2
)
Bài tp:
Trình bày kt quca tng bưc Shell sort
vi d = 5,2,1 vi dãy [3,5,2,9,8,1,6,4,7]. Bao nhiêu
phép so sánh ưc sdng
RADIX SORT
RADIX SORT
Radix sort
Radix sort
Gii thiu:
Radix sort Sp xp theo c sda trên tính cht
"s"" ca các khóa.
Radix sort không ch!so sánh giá trca các khóa,
so sánh các thành phn ca khóa. Gisc
khóa là các s"biu di4n theo hghi s"2ơ"5.
Khi ó sp xp theo cơ s"sso sánh tng ký s"
ca nó.
Radix sort
Radix sort
Thut toán:
Xem các phn ttrong mng g6m các lp có
ưu tiên khác nhau. VD: các s"tnhiên g6m các
lp:ơ%7, chc, trm, ngàn,..
Duyt các phn tttrên xu"ng dưi.
Bưc 1: sp xp dãy các phn t lp cóư8
tiên thp nht (VD: các chs"hàng ơn v). S"
nào có hàng ơn vthp hơn thì+9ư91:%+*:%.
Sau bưc 11 dãy sp xp mi. Tương tvi các
lp ktip (chs"thuc hàng chc, hàng trm,…)
cu"i cùng s;<p xp.