You are on page 1of 5

Cu trc tun t Cch n gin nht tm kim l lu tr cc bn nghi bng mng ,sau tm kim tun t trong mng.

g. Cu lnh di y biu th cho vic p dng cc hm c bn suwtr dng sp xp logic n gin v minh ha cho { tng ta s s dng vo thc hin cu trc tm kim. type node=record key, info: integer end; var a: array [O..maxN] of node; N: integer; procedure initialize; begin N:=O en d; function seqsearch(v: integer; x: integer): integer; begin a[N+1].key:=v; if (x>=O) and (x<=N) then repeat x:=x+1 until v=a[x].key; seqsearch : =x end ; function seqinser t(v: integer): integer; begin N:=N+1; a[Pr].key:=v; seqinsert:=N; end ;

Cu lnh trn x l bn nghi c kha tm kim v thong tin li quan (info). Bng vic phn loi, n s cn thit trong nhiu vic p dng m rng chn g trnh cn x l nhiu bn nghi v kha phc tp hn,nhng n s khng lm thay i cc cu trc thut ton c bn . V d nh, thng tin c th c nhp bng con tr s c cu trc phc tp hn.Trong Trng hp , trng c th dng nh xc nh duy nht s dng phn bit gia bn nghi v kha tng ng. Cch tm kim c 2 phng php thc hin : gi tr ca kha cho v ch s (x ) trong mng. gi tr bao gm vic x l{ cac trng hp ca mt s bn nghi c gi tr ca kha tng t :bng vic thc hin lien tip t:=search(v,t) bt u vi t:=0 chng ta c th thit lp trnh t ca t vo trong bn nghi vi gi tr kha v. Bn nghi c cha gi tr kha tm kim c s dng ,m bo rng vic tm kim s lun tm thy kt qu, v do lien quan n ch c mt th nghim hon thnh trong loclp. Sau khi chu kz kt thc , vic kim tra xem ch s tr v c ln hn N s ni ln liu vic tm kim tm thy yu cu ca bi hoc kha t bng. N cng tng t khi chng ta s dng vic lu tr bn nghi c cha gi tr ng nht hay gi tr ln nht ca kha n gin ha cu lnh bn trong vng lp phn bit cc thut ton . Phng php ny mt khong N bc cho mt s tm kim khng thnh cng (tt c cc bn nghi phi c kim tra chc chn rng bn nghi vi nhng kha c th khng tn ti )v khong N/2 bc,trung bnh , vic tm kim thnh cng (vic tm kim ngu nhin t bn nghi trong bng s yu cu kim tra khong mt na u vo ,trn mc trung bnh). Tm kim tun t theo danh sch Chng trnh tm kim tun t cao hn s dng vic truy cp hon ton tun t t bn nghi, v do c th s dng mt i din danh sch lien kt cc bn nghi . Mt li ch ca vic lm l n d dng duy tr s sp xp danh sch , th hin vic p dng di y. type link=node; node=record key, info: integer; next: link end;

var head, t, z: link; i: integer; procedure initialize; begin new(z); zt.next:=z; new(head); headf.next:=z; end ; function listsearch(v: integer; t: link): link; begin zf.key:=v; repeat t : = tt .next until v< = tt .key; if v=tt .key then listsearch := t else lis tsearch : = z end ; function listinsert (v: integer; t : link) : link; var x: link; begin zf.key:=v; while tt.nextt.key<v do t:=tt.next; new(x); xt.next:=tf.next; tt.next:=x; xf.key:=v; Jistinsert:=x;

Vi mt danh sch c sp xp, tm kim mt c th c chm dt khng thnh cng khi mt bn ghi vi mt phm ln hn so vi kha tm kim c tm thy. Nh vy ch c khong mt na s bn ghi (khng phi tt c) cn phi c kim tra fo: * an unsuccesul search. Vic sp xp d dng duy tr bi v mt bn ghi mi ch n gin l c th c a vo danh sch ti thi im vic tm kim khng thnh cng chm dt. Nh thng l vi danh sch lin kt, tiu gi node head v node tail cho php m n gin hn m khng cn th: m. V vy, listinsert (v, head) s t mt nt mi vi kha v vo listsearch ca phn tip theo ca u, v listsearch l tng t.Gi lp li trn listsearch bng cch s dng cc lin kt s tr li bn ghi cc kha trung lp. ui nt z c s dng nh l mt trng im trong cng mt cch nh trn. Nu listsearch thc hin li , th vic tm kim khng thnh cng. Nu mt ci g c bit v tn s tng i ca cc truy cp cho cc bn ghi khc nhau, sau tit kim ng k c th oftc: n c thc hin mt cch n gin bng cch t hng cc bn ghi thng minh. Vic b tr "ti u" l t cc bn ghi truy cp thng xuyn nht u, thng xuyn truy cp th hai ghi v tr th hai. Phng php ny c th rt hiu qu, c bit l nu ch c mt tp hp nh cc bn ghi l thng xuyn truy cp.

Nu thng tin khng c sn v tn sut truy cp, sau mt xp x n ti u cch sp t c th t c vi mt tm kim "selforganizing": mi khi mt bn ghi c truy cp, di chuyn n n u danh sch. Phng php ny c thc hin thun tin hn khi trin khai thc hin danh sch lin kt c s dng. Tt nhin thi gian chy cho phng php ph thuc vo cc bn truy cp hm suy rng, v vy n kh khn d on n s lm th no. Tuy nhin, n rt thch hp vi tnh hnh kh ph bin khi hu ht cc truy cp mi bn ghi c xu hng xy ra gn nhau.

You might also like