22
Chương 4: TÌM KIẾM TÌM KIẾM (SEARCHING)

C3 TimKiem

Embed Size (px)

DESCRIPTION

Tìm kiếm

Citation preview

  • Chng 4: TM KIM
    (SEARCHING)

    Chng 3: Tm kim

    Ni dung

    Khi qut v tm kim

    Tm tuyn tnh (Linear Search)

    Tm nh phn (Binary Search)

    *

    Chng 3: Tm kim

    Khi qut v tm kim

    Tm kim l mt yu cu rt thng xuyn trong i sng hng ngy cng nh trong tin hcV d:Tm kim mt sinh vin trong lpTm kim mt tp tin, th mc trong my n gin ta xt bi ton tm kim nh sau:Cho mt dy s gm cc phn t a1, a2, ..., an. Cho bit trong dy ny c phn t no c gi tr bng X (cho trc) hay khng?

    *

    Chng 3: Tm kim

    Chng 3: Tm kim

    Khi qut v tm kim

    Xt hai cch tm kim:Tm kim tuyn tnh (Linear Search) hay cn gi l tm kim tun t (Sequential Search)Tm kim nh phn (Binary Search)

    *

    Chng 3: Tm kim

    Ni dung

    Khi qut v tm kim

    Tm tuyn tnh (Linear Search)

    Tm nh phn (Binary Search)

    *

    Chng 3: Tm kim

    2. Tm tuyn tnh (Linear Seach)

    tng:

    Bt u t phn t u tin ca danh sch, so snh ln lt tng phn t ca danh sch vi gi tr X cn tm

    Nu c phn t bng X, thut ton dng li (thnh cng)

    Nu n cui danh sch m khng c phn t no bng X, thut ton dng li (khng thnh cng)

    If we find a match, the search terminates successfully by returning the index of the elementIf the end of the list is encountered without a match, the search terminates unsuccessfully

    *

    Chng 3: Tm kim

    2. Tm tuyn tnh (Linear Seach)

    Thut ton:

    B1: i = 0 ;// bt u t phn t u tin

    B2: so snh A[i] vi X, c 2 kh nng :

    A[i] = X : Tm thy. Dng A[i] X : Sang B3

    B3: i=i+1 // Xt phn t tip theo trong mng

    Nu i=n : Ht mng, khng tm thy. Dng

    Ngc li: lp li B2

    *

    Chng 3: Tm kim

    2. Tm tuyn tnh (Linear Seach)

    *

    X=8

    V d:

    i=0

    i=1

    i=2

    Dng

    12

    2

    8

    5

    1

    12

    2

    8

    5

    1

    X=8

    12

    2

    8

    5

    1

    X=8

    12

    2

    8

    5

    1

    X=8

    Chng 3: Tm kim

    2. Tm tuyn tnh (Linear Seach)

    *

    5

    Kha tm

    7

    13

    5

    21

    6

    2

    8

    15

    V tr = 2

    Tm thnh cng

    S ln so snh: 3

    0

    1

    2

    3

    4

    5

    6

    7

    Chng 3: Tm kim

    *

    9

    7

    13

    5

    21

    6

    2

    8

    15

    Khng tm thy

    S ln so snh: 8

    Kha tm

    2. Tm tuyn tnh (Linear Seach)

    0

    1

    2

    3

    4

    5

    6

    7

    Chng 3: Tm kim

    2. Tm tuyn tnh (Linear Seach)

    void lsearch (int list[], int n, int key) {

    int flag = 0;// gi s lc u cha tm thy

    for(int i=0; i