ari Khái ni m “Mtch ngtìnhđ quilàch ng trình g ¡iđ n chính nó trong các câu Ì nh,ch ngtrìnhđ qui b tbu cph ¡ có đi uki nd ng ="Nh cdi mc ad qui »" Không ph iï bài toán nào cũng dùng
Trang 1Chuong 3
Cac phuong phap sap xép
và tìm kiểm
Ð_ qui
Cácph ng pháp tìm ki m
Oo
@ Tim ki md_ qui
@®
eo Các ph ng pháp s px p
Chương 3 Các phương pháp tìm kiếm và sắp xếp
SS le
Chương 3 Các phương pháp tìm kiếm và sắp xếp
th ng xuyén dc th c hi n trong khai thác
thông tin
= Tuythu cvaoc utrucl utr c ad li ucac thu ttoand cxayd ngcom cd hi uqu khac nhau
", Cóth chia thành hai nhóm: các thu t toan thao
ngoài (các ~ dia)
Chương 3 Các phương pháp tim kiém và sắp xếp
Khái ni m
trong phát bi uc aX có dùng chính đit ngX
Víd:“Ng ¡ giàu làng ¡ có nhi u tài s n ho c có cha
m làng ¡giàu”—-ir cfi p
“Gà > Ir ng > Gà" - gián ft p
" Dnhnghiab ngd quyco udi m:
" Sangs a
*D hiu
» Néu but duce van de Abu
ari
Khái ni m
“Mtch ngtìnhđ quilàch ng trình g ¡iđ n chính nó trong các câu Ì nh,ch ngtrìnhđ qui
b tbu cph ¡ có đi uki nd ng
="Nh cdi mc ad qui
»" Không ph iï bài toán nào cũng dùng đ quid c
*"S dngnhiub nh ởđở lutr tmth icácbi n trong lúc ch yđ qui
BR
Trang 2
Chương 3 Các phương pháp tìm kiếm và sắp xếp
(ST
Khái ni m
=" Mtdnhnghiad quith ng có 2 thành ph n
: Thành ph nc đnh (ởi uki nd ng) : không có L ¡ï
gid qui
Vid :0!=1!=1
" Thanh ph nd qui: ngv ithams cdl ig id
quid nthams khac,d nti nv thanhph nc dnh
Vid : nl=n*(n-1)!}N un>1
Bi =- —
Chương 3 Các phương pháp tìm kiếm và sắp xếp
Xây d ngd n các thành ph nc am tÌl ¡gi ¡haym tc u
hình b ng cáchth ttc cackh nang
Ví d :li tkê các dãy nh phân cóđ dài n bit
Vinz3>
3bit~8kh nang
M t“c uhình”
err
Chương 3 Các phương pháp tìm kiếm và sắp xếp
", M thàmđ quyv cănb n luôn g m2ph n
: Ph nd ng:Ch a các tác đ ngc ahàm ngv ¡1s giá tr ban đ uc atham s
- Phnh bc:Ch al ig ¡th chỉ nhàm v ¡tham s
có ph mvinh h n
Vid : Xayd ng ham tinh n! theo d Ví d : Tính UCLN(x,y) theo thu t toán qui Euclide
long giaithua(int n) int ucIn(int x, int y)
{
if (n == 0 ||n == 1) return 1;
else return (n * giaithua(n-1));
| a
if (y == 0) return x;
else return (ucIn(y, x % y));
Chương 3 Các phương pháp tim kiém và sắp xếp
# Xác đnh thành ph nxib ngởđ quy ”⁄/
void Try( inti )
{int j;
If (i> N) < ghinh n1c uhinhs;
else
{
for (thu c† pkh nangd c ) if<ch pnh nkh_ nang (j )> then
{
< Xác đnh xi theo kh năng (j ) >
<Ghi nh nkh năng(j)đãđ cch ncho xi >;
Try( +1);
<b vi cghi nh nkh năng (j ) đã ch n cho xi >;
Trang 3
=—_—_—- a eT) le
Chương 3 Các phương pháp tìm kiếm và sắp xếp
" Vị d :Li tkê các dãy nh phân cóđ dài n
" CTDL: M ng byte: char X[20]; ch aday nh phant ida 20 bit
#" Kh năngđ c cho 1 thành ph n (1 bit) X[i| là: 0 và 1
void Try(int i)
if (i >n) InKetqua;
else for (| =0; j<2; j++)
{ Xi] = j;
Try(i+ 1);
}
a a Lee
Chương 3 Các phương pháp tìm kiếm và à sắp xếp
CATT TE
=» Sinh vién chianhomth chi n:m inhómt 3-5
ng |
=" Bctham2trongs cacthu ttoand timhi u
va Seminar
= Yéuc utimhi u
"= Vid minhha
» Caid tch ngtrinh
=» Nh n xét đánh giá
= Tai livy tham kauo
=» Yéu c_u Seminar
« T o Slide PowerPoint
« Trinh bay trong 15 phut
" Traod ith olu n
"Tr litheome
err
Chương 3 Các phương pháp tìm kiếm và sắp xếp
Bài toán Tháp Hà ÌN ¡ Bài toán li t kê hoán v Bài toán 8 quân H u Bài toán Mã đi tu n