S P X P
Nguy n Văn Linh
M c tiêu
Sau khi hoàn t t i h c này b n c n ph i:
Hi u các gi i thu t s p x p. ế
V n d ng đ c gi i thu t đ minh h a vi c s p ượ
x p.ế
Hi u các l u đ c a c gi i thu t s p x p. ư ế
Hi u các ch ng trình s p x p. ươ ế
Hi u đ c vi c đánh gc gi i thu t. ượ
T m quan tr ng c a bài tn s p x p ế
S p x p m t danh ch các đ i t ng theo m t ế ượ
th t nào đó m t bài tn th ng đ c v n ườ ượ
d ng trong c ng d ng tin h c.
S p x p là m t u c u không th thi u trong ế ế
khi thi t k c ph n m m. ế ế
Do đó vi c nghiên c uc ph ng pháp s p ươ
x p r t c n thi t đ v n d ng trong khi l p ế ế
trình.
S p x p trong và s p x p ngoài ế ế
S p x p trong ế là s s p x p ế d li u đ c t ch c trong b nh ượ
trong c a máy tính.
Các đ i t ng c n đ c s p x p là các m u tin g m m t ho c nhi u ượ ượ ế
tr ng. M t trong các tr ng đ c g i là khóa (key), ki u c a nó là m t ườ ườ ượ
ki u có quan h th t (nh các ki u s nguyên, s th c, chu i ký t ...). ư
Danh sách các đ i t ng c n s p x p s là m t m ng c a các m u tin ượ ế
v a nói trên.
M c đích c a vi c s p x p là t ch c l i các m u tin sao cho các khóa ế
c a chúng đ c s p th t t ng ng v i quy lu t s p x p. ượ ươ ế
M t cách m c nhiên, quy lu t s p x p là th t không gi m. Khi c n s p ế
x p theo th t không tăng thì ph i nói rõ.ế
S p x p ngoài ế là s s p x p đ c s d ng khi s l ng đ i t ng c n ế ượ ượ ượ
s p x p l n không th l u tr trong b nh trong mà ph i l u tr trên ế ư ư b
nh ngoài.
T ch c d li u và ngôn ng cài đ t
Ð trình bày các ví d minh h a chúng ta s ng C
(Turbo C++, Version 3.0) làm ngôn ng th hi n và
s d ng khai báo sau.
const int n = 10;
typedef int keytype;
typedef float othertype;
typedef struct recordtype {
keytype key;
othertype otherfields;
};
recordtype a[n]; /* khai bao mang a co n phan tu */