1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc

90 294 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểu Dữ Liệu Phức Hợp
Trường học Trường Đại Học
Chuyên ngành Khoa Học Máy Tính
Thể loại Tài liệu
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 90
Dung lượng 1,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

KI U D LI U PH C H P If worms have the power of acquiring some notion, however rude, of the shape of an object and of their burrows, as seems to be the case, they deserve to be called i

Trang 3

CH NG III KI U D LI U PH C H P

If worms have the power of acquiring some notion, however rude, of the shape of an object and of their burrows,

as seems to be the case, they deserve to be called intelligent

Charle R Darwin (Vegetable Mould, 1881)

i u d li u ph c h p trong Scheme g m ki u chu i (string), ki u vect (vector), ki u b đôi (doublet), ki u danh sách Ngoài ra, Scheme còn m t s ki u d li u ph c h p khác

(data abstraction)

III.1 Ki u chu i

”Cha`o ba.n !”

> ”Cha`o ba.n !”

(display ”two \”quotes\” within.”)

> two ”quotes” within

Th vi n Scheme có hàm string cho phép ghép liên ti p các ký t thành m t chu i : (string #\S #\c #\h #\e #\m #\e)

> ”Scheme”

(define greeting ”Scheme ; cha`o ba.n !”)

; Chú ý d u ; trong m t chu i không có vai trò là d u chú thích

Trang 4

> Chuoi ”Scheme ; cha`o ba.n ! ” co do dai 21

V t string? dùng đ ki m tra ki u chu i :

s là char, n u không n i dung c a chu i s không đ c xác đ nh

(string-length str)

(string-ref str k)

Tr v ký t th k c a chu i str Giá tr c a k ph i h p l

(string-set! string k char)

t giá tr ký t th k c a chu i str b i char Giá tr c a k ph i h p l

Các v t so sánh chu i :

(string=? str str )

Trang 5

(string<? str 1 str 2)

(string>? str 1 str 2)

(string<=? str 1 str 2)

(string>=? str 1 str 2)

tr v #t n u th a mãn quan h th t t v ng =, <, >, <=, >= gi a các chu i (có phân bi t

char-ci>?, char-ci<=?, và char-ci>=?

(string-set! s2 j (string-ref s1 i)))))

(my-substring "Hello, World!" 7 12)

> ”World”

Trong hàm my-substring s d ng c u trúc l p do có cú pháp nh sau :

(do ((var 1 init 1 step 1 )

)

(test expr .) command )

Trang 6

C u trúc l p do ho t đ ng t ng t nh l nh do trong các ngôn ng m nh l nh : bi n

có th có ki u b t k , không hoàn toàn ký t M i ph n t c a vect l i có th là m t vect ,

> ’#(”Kiki” ”Kiki” ”Kiki”)

Trang 7

III.3 Ki u d li u b đôi

đ c t (specification) b i 4 thành ph n : tên ki u d li u tr u t ng (types), các đ nh ngh a

ph n sau mô t ng ngh a

Thành ph n functions li t kê các khuôn m u hàm (function pattern) M i khuôn m u

đ nh c a hàm M t l i g i hàm không tuân theo đi u ki n đ u đ u d n đ n sai sót (chia cho 0,

(create-rat n d) là m u s d≠0 Thành ph n preconditions có th v ng m t n u

đ y đ và d hi u M i v n d ng hàm có d ng m t m nh đ lôgích h p th c luôn có giá tr

nh C, Pascal

phép toán s h c trên các s nh +, −, *, nh ng ta l i không bi t cách bi u di n chúng

types nat

functions

0 : -> nat ; 0 là s t nhiên đ u tiên, là m t h ng (constant)

+ : nat × nat -> nat

– : nat × nat -> nat

* : nat × nat -> nat

^ : nat × nat -> nat

= : nat × nat -> boolean

Trang 8

axioms var X, Y : nat

doublet đ c đ c t nh sau :

types doublet

functions

axioms var a, y : any

Trang 9

V t eq? hay đ c dùng đ ki m tra hai b đôi có đ ng nh t v i nhau không Th c ch t,

eq? ki m tra tính đ ng nh t c a hai con tr

Ng ngh a c a hàm này nh sau :

axioms var x, y : doublet ; a, b : any

(x = cons(a, b)) ∧ (y = x) ⇒ (eq?(x) = eq?(y))

Trang 10

(eq? x (cons 1 2))

> #f

Nh cons, car, cdr, ta đã đ nh ngh a các b đôi nh là d li u s c p T đó, ta có th

hàm đ t bi n (mutator functions) Gi s ki u b đôi đ c t o ra t hai ki u d li u nào đó

và set-cdr! đ c b sung vào ph n đ c t hàm nh sau :

functions

set-car! : doublet(T1, T2) × T1 → any

set-cdr! : doublet(T1, T2) × T2 → any

Ng ngh a c a các hàm này nh sau :

axioms var x : doublet(T1, T2) ; a, a1 : T1, b, b1 : T2

(x = cons(a, b)) ∧ (set-car!(x, a1)) ⇒ (car(x) = a1)

Ki m tra giá tr c a con tr x :

x

> (3 4)

Trang 11

III.3.4 ng d ng b đôi

1 Bi u di n các s h u t

Gi s ta c n xây d ng m t t p h p các hàm cho phép x lý các s h u t nh : c ng (+),

types rational

functions

create-rat : integer × integer −> rational

v t s (numerator) và denom tr v m u s (denominator) c a s h u t là các hàm ti p

nh n Hàm =rat là hàm ki m tra hay chuy n ki u, ki m tra n u hai s h u t là b ng nhau

Khi r là m t s h u t , r=n/d, thì t s c a r là n và m u s là d≠0 Hai s h u t

r1=n1/d1 và r2=n2/d2 b ng nhau khi và ch khi n1.d2 =n2/d1

axioms Ví d các đ nh ngh a trong Scheme sau đây tuy đúng đ n v m t cú pháp, nh ng

Trang 12

(define (numer r) (car r))

ng v i các phép toán +, −, *, / ) và hàm chuy n m t s h u t thành s th c rat->real

đ b sung vào ki u d li u tr u t ng rational nh sau :

functions

(create-rat (* (numer x) (numer y))

(* (denom x) (denom y))))

(define (/rat x y)

(create-rat (* (numer x) (denom y))

(* (denom x) (numer y))))

; chuy n m t s h u t thành s th c :

(define (rat->real r) (/ (numer r) (denom r)))

Trang 13

− X lý các phép toán trên các s h u t : +rat, -rat, *rat, /rat, =rat

− X lý s kh i trên các s h u t : create-rat, numer, denom

(define (create-rat n d)

(define g (gcd (abs n) (abs d)))

; Chú ý hàm th vi n gcd (greatest common divisor)

(cons (quotient n g) ( quotient d g)))

(define (numer r) (car r))

create-rat v a trình bày là đáng tin c y vì tr c khi g i chúng, ta đã gi thi t r ng đi u

D phòng và kh c ph c nh ng sai sót có th x y ra, trong khi l p trình hay trong quá

Trang 14

2 Bi u di n hình ch nh t ph ng

pháp l p trình c u trúc : c g ng trì hoãn vi c khai báo d li u trong ch ng m c có th ) Ta xây d ng hàm cons-rectangle đ t o m i m t hình ch nh t theo các thành ph n x, y, y,

H T m t cách bi u di n trong nào đó c a hình ch nh t, ta c n xây d ng các hàm ti p c n

đ n các thành ph n này là value-x, value-y, value-L, value-H Các hàm này th c

(define (in? xo yo R)

(let ((x1 (value-x R))

((y1 (value-y R)) ((L (value-L R)) ((H (value-H R))) (and (<= x1 xo) (<= y1 yo)

(<= xo (+ x1 L)) (<= yo (+ y1 H)))))

Trang 15

Bây gi xây d ng v t (inclus? R1 r2) đ ki m tra hình ch nh t R1 có n m bên

(define (inclus? R1 R2)

(let ((x1 (value-x R1))

((y1 (value-y R1)) ((L1 (value-L R1)) ((H1 (value-H R1))) (and (in? x1 y1 R2)

(cons (cons x y) (cons L H)))

(define (value-x R) (car (car R)))

(define (value-y R) (cdr (car R)))

(define (value-L R) (car (cdr R)))

Trang 16

III.4.1 Khái ni m danh sách

Friday, Saturday và Sunday thành m t t h p d li u, ng i ta s d ng c u trúc danh sách có

d ng m t s-bi u th c nh sau :

(mon tue wed thu fri sat sun)

(define week-list)

(mon tue wed thu fri sat sun))

> *** ERROR-unbound variable: mon

thì ta g p l i s sai sót v các ký t Scheme xem danh sách này nh là m t l i g i hàm có tên mon v i các tham đ i là tue, sun và, nh đã th y, ta ch a h đ nh ngh a hàm mon

(define week-list

’(mon tue wed thu fri sat sun))

các bi u th c s h c, bi u th c ch a các d li u ký hi u, hay ch a các danh sách l ng nhau

r ng giá tr c a nó chính là v n b n (text) t o ra nó Bi u th c tr c ki n có vai trò là m t

h ng :

> ’(1 2 2 3)

’(one + two = three) ; là m t danh sách g m 5 ký hi u tu ý

> (one + two = three)

Trang 17

’() ; danh sách r ng (empty list) không có ph n t nào

(12h an-trua)) (chieu

(14h tham-gia-chuyen-de) (16h den-cuoc-hen))))

d ng các danh sách không thu n nh t (heterogeneous list) v ki u Ch ng h n :

toàn các ký hi u, v.v Th t c a các ph n t xu t hi n trong m t danh sách là có ý ngh a

sách con (sub-list) là m t ph n t c a danh sách đã cho Ph n t này có th là m t danh

sách, hay là m t danh sách con c a m t danh sách con

Ví d , danh sách :

’(a (b c) () ((c)) d)

có các danh sách con là : (b c), (), ((c)) và (c) M t danh sách không có danh sách

này không trong m t danh sách con

a, (b c), (), ((c)), c

đ c đ t m c n-1

sâu (depth) c a m t danh sách là m c c a m t ph n t m c cao nh t Ch ng h n

Trang 18

(length ’((a b) (c d) () (e)))

T là ki u ph n t c a danh sách :

types list(T)

functions

() : list(T)

cons : T × list(T) -> list(T)

III.4.2.1 Các phép toán c b n cons, list, car và cdr

Scheme s d ng b xây cons đ t o m t danh sách :

Trang 19

(list <e 1 > <e N >) =

(cons <e 1 > (cons <e 2 > (cons <e N > ’()) ))

Trang 20

-V i quy c d u g ch trên tên ch đ nh giá tr c a m t bi u th c Trong Scheme, car hay cdr

(define head car)

(define tail cdr)

> (vendredi samedi dimanche)

S đ đ quy tuy n tính :

(define (<fname> <arg>)

(if (null? <arg>)

<init-val>

(<func> (car <arg>) (<fname> (cdr <arg>)))))

S đ l p :

(define (<fname> <arg>)

(define (<i-name> <arg> <result>)

(if (null? <arg>)

Trang 21

III.4.2.2 Các hàm x lý danh sách

functions

append : ist(T) × list(T) -> list(T)

1 Các hàm length, append và reverse

Hàm length tr v đ dài c a danh sách đ c đ nh ngh a nh sau :

Hàm append nh n m t s tham đ i tùy ý, m i tham đ i có giá tr là m t danh sách đ

append đ c đ nh ngh a nh sau :

(define (append L1 L2)

(if (null ? L1)

L2 (cons (car L1) (append (cdr L1) L2)))) Hàm append có chi phí tuy n tính theo L1 Ví d :

Trang 22

(append (list 1 2 3) (list 4 5 6 7))

(reverse ’(dog cat cock duck pig))

’(pig duck cock cat dog)

(reverse (list 1 2 3))

> (3 2 1)

(reverse (append ’(a b) ’(c d)))

> '(d c b a)

reverse vi t l i là :

(append (reverse (cdr L)) (car L)))) ; quên đ t ti n t list

thì s gây ra l i sai vì (car L) là m t ph n t , không ph i là m t danh sách Ta có th

(reverse (list 1 2 3 4))

> (4 3 2 1)

Chi phí c a hàm reverse v n tu thu c tuy n tính vào L

2 Các hàm tham chi u danh sách

(list-ref L n)

(list-tail L n)

(list? L)

Trang 23

Hàm (list-ref L n) tr v ph n t th n c a danh sách L, v i quy c r ng trong

Trang 24

Hàm (string->list str) chuy n m t chu i thành m t danh sách Hàm này có th

đ c đ nh ngh a nh sau :

(define (tring->list str)

(do ((i (- (string-length str) 1) (- i 1))

(ls ’() (cons (string-ref str i) ls))) ((< i 0) ls)))

Hàm (list->string L) chuy n m t danh sách thành m t chu i Hàm này có th

đ c đ nh ngh a nh sau :

(define (list->string ls)

(let ((s (make-string (length ls))))

(do ((ls ls (cdr ls)) (i 0 (+ i 1))) ((null? ls) s)

(string-set! s i (car ls))))) (list->string ’())

Hàm (string->number str [radix]) chuy n m t chu i str thành m t s h

Trang 25

V t atom? ki m tra n u m t s-bi u th c không ph i là m t danh sách :

tr l i m t ph n c a danh sách L ch a ph n đ u tiên (first ocurrence) c a giá tr s, ho c tr v

#f n u danh sách L không có S so sánh đ c th c hi n nh ki m tra equal? :

(member ’(b) ’(a b c d))

> #f

(member ’(b) ’(a b c (b) d))

> ((b) d)

s , s d ng = và đ so sánh các ký hi u, s d ng eq? Scheme có ba hàm so sánh ho t đ ng

nh sau :

member s d ng phép ki m tra equal?

Trang 26

III.4.2.3 D ng case x lý danh sách

n u giá tr cúa s thu c v danh sách L2, v.v

Trang 27

nhau c n c vào giá tr delta :

delta > 0, hai nghi m th c phân bi t : (real x1 x2)

delta = 0, nghi m kép :(double x)

delta < 0, nghi m ph c : (complex realpart imaginarypart)

(list ’complex (- b) delta2root)))))) không l n l n các tính toán v i các k t qu in ra, ta vi t th t c solution-

(define (solution-display solution)

(case (car solution)

((real) (display ”2 real roots: ”)

(display (cadr solution)) (display ” and ”)

(display (caddr solution))) ((double) (display ”1 racine reelle double: ”)

(display (cadr solution)))

Trang 28

(else (display ” 2 racines complex conjuguees: ”)

(display (cadr solution)) (display ” +/- i ”)

(display (caddr solution))))

> 1 racine reelle double: -1

III.4.2.4 K thu t đ quy x lý danh sách ph ng

đ quy b ng cách chuy n phép tính hàm v tham bi n cdr c a danh sách Sau đây, ta xét

1 Tính t ng các ph n t c a m t danh sách

t c a Lnb sao cho khi danh sách r ng, giá tr tr v là 0 ?

Trang 29

4 Hàm append có hai tham đ i

Gi s ta không s d ng hàm append ti n đ nh mà t xây d ng m t hàm khác nh hàm

Trang 30

(remove ’a ’(a b c a d))

> (b c d)

6 Bài toán tính t ng con

(goodcount (- N (car Lnb)) (cdr Lnb)))) (if partresult

(cons (car Lnb) partresult) (goodcount N (cdr Lnb))))))) (goodcount 21 ’(1 1 3 5 7 10 12 15))

> (1 1 7 12)

7 L p danh sách các s nguyên t

Cho m t s nguyên n, c n tìm các s nguyên t trong kho ng 2 n Có nhi u thu t toán

Thêm prime vào t p h p k t qu S

Lo i tr kh i sieve các b i s c a prime là 2*prime, 3*prime

until sieve = r ng

(define (interval-list m n)

(if (> m n)

Trang 31

(cons (car L) (remove-multiples n (cdr L)))))) (if (null? L)

III.4.2.5 K thu t đ quy x lý danh sách b t k

đ quy đ chuy n phép tính c a hàm đang đ nh ngh a đ i v i tham bi n cdr và/ho c car

1 Làm ph ng m t danh sách

bên trong nh sau :

(aflatten ’(a (b c) () ((d)) e))

; N u car c a danh sách đã cho không ph i là m t danh sách,

; thì thêm ph n t này vào đ u k t qu làm ph ng c a cdr

(else (cons (car L) (aflatten (cdr L))))))

Trang 32

(Listsum* ’(a (4) 5 ((6 b)) 8))

> 23

3 Lo i b kh i danh sách m t ph n t các m c khác nhau

Cho m t danh sách L và m t bi u th c s C n lo i b kh i L các ph n t có giá tr b ng s

((equal? s (car L)) ; ph n t đ u tiên là s (remove1 s (cdr L)))

(cons (remove1 s (car L)) (remove1 s (cdr L))))

(remove1 s (cdr L)))))) (remove* ’a ’(b a ((a) b) c (a) d))

Trang 33

− N u ph n t đ u tiên c a danh sách là m t danh sách, thì ta ngh ch đ o các ph n t

(reverse1 '(a b ((e f) g) c (i j) d))

> '(d (j i) c (g (f e)) b a)

5 So sánh b ng nhau

ho c :

Ki u pair, vector,

(equal? "123" "123") > #t

V t eqv?, hay eq?, dùng đ so sánh các ki u d li u b t k , k t qu s là #t n u

string=?

(eq? 123 123)

> #t

Trang 34

(= V1 V2)) ((and (char? V1) (char? V2))

(char=? V1 V2)) ((and (string? V1) (string? V2))

(string=? V1 V2)) ((and (pair? V1) (pair? V2))

(and (equal? (car V1) (car V2))

III.4.3.1 Bi u di n danh sách b i ki u b đôi

(a) chính là b đôi ’(a ()) có ph n t th nh t car là a và ph n t th hai cdr là

m t danh sách r ng M t cách t ng quát, danh sách :

(s1 s2 sn)

đ c bi u di n b i ki u d li u b đôi :

(s1 (s2 ( (sn ( ) ) )

đôi khác Các thành ph n c a m t b đôi c ng có th là các b đôi Ví d :

(define x (cons ’a ’b))

(define y (cons x ’c))

Trang 35

Hình III.5 Bi u di n d ng cây các b đôi

sNs2

s1

( )

Hình III.6 Bi u di n danh sách b i các b đôi

Trang 36

Hình III.7 Nhi u m i tên cùng bi u di n m t con tr

đôi đ mô hình hoá các đ i t ng có tr ng thái thay đ i theo th i gian

(define X (list 1 2 3 4))

(set-car! X 5) ; thay đ i X mà không nh h ng đ n Y

Trang 37

Y

> (6 3 4)

Tuy nhiên, sau khi gán l i ph n cdr c a X cho m t danh sách m i, thì con tr Y v n tr

(set-cdr! X (list 7 8)) ;X và Y đ c l p (không chung nhau b đôi nào)

( )X

1

Hình III.10 t bi n t o danh sách n i vòng có th gây ra qu n vô h n

L1 và L2, ta c n ghép chúng đ nh n đ c m t danh sách m i G i |L1| là đ dài (length)

c a danh sách L1, ta có hai gi i pháp, m t gi i pháp không s d ng đ t bi n, nh sau :

> (1 2 3 4 5)

Cách 2 : s d ng đ t bi n

đôi cu i cùng c a L1 tr t i L2

Trang 38

; concat! : List(T) ´ List(T) ® List(T)

(define (concat! L1 L2)

(define (last-doublet L) ; tr v b đôi cu i cùng c a L là null

(if (null? (cdr L))

L (last-doublet (cdr L)))) (set-cdr! (last-doublet L1) L2))

((c1 v1) (cn vn)

(cj vj) đ t o ra m t ph n t c a danh sách k t h p Th vi n Scheme có hàm assq : (assq s alist)

s d ng phép so sánh eq? đ tr v ph n t đ u tiên c a danh sách k t h p alist tho mãn

đi u ki n có car là khóa s N u không tìm th y khoá nào nh v y, giá tr tr v là #f : (assq ’a ’((b 2) (a 1) (c 3) (a 0)))

Do assq s d ng eq? nên có th phép so sánh không thành công :

(assq ’(a) ’((b 2) (a 1) (c 3) ((a) 0)))

Trang 39

Chú ý r ng các hàm memq, memv, member, assq, assv, và assoc đ u không có d u

ch m h i (?) phía sau tên vì chúng tr v không ch các giá tr ki u boolean #f và #t mà còn

(define (valof key alist)

(let ((doublet (assq key alist)))

(define (delkey key alist)

(cond ((null? alist) '())

((eq? key (caar alist)) (delkey key (cdr alist))) (else (cons (car alist)

(delkey key (cdr alist)))))) (delkey ’b ’((a 1) (b 2) (c 3) (b 4)))

> ’((a 1) (c 3))

Trang 40

(delkey ’d ’((a 1) (b 2) (c 3) (b 4)))

> ’((a 1) (b 2) (c 3) (b 4)))

(define (sublis alist s)

(cond ((pair? s)

(cons (sublis alist (car s)) (sublis alist (cdr s)))) ((null? s) '())

(else (let ((doublet (assoc s alist))) (if doublet

(cdr doublet) s)))))

(sublis

’((mot one) (hai two) (ba three)))

’(mot + hai = ba))

> (one + two = three)

b sung vào danh sách k t h p m t ph n t m i, ta xây d ng hàm acons(s1 s2

d ng t s1 và s2 :

(define (acons s1 s2 alist)

(cons (cons s1 s2) alist))

(acons ’a 1 ’((b 2) (c 3) (b 4)))

> ’((a 1) (b 2) (c 3) (b 4))

III.4.3.3 D ng quasiquote

Ngoài d ng vi t t t ’(quotation mark) c a phép trích d n quote, trong Scheme còn có

Ngày đăng: 15/12/2013, 16:15

HÌNH ẢNH LIÊN QUAN

Hình III.1. Bi u di n các b   đ ôi nh  con tr . - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.1. Bi u di n các b đ ôi nh con tr (Trang 9)
Hình III.2. Bi u di n các thành ph n c a m t hình ch  nh t. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.2. Bi u di n các thành ph n c a m t hình ch nh t (Trang 14)
Hình III.3. T nh ti n m t hình ch  nh t. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.3. T nh ti n m t hình ch nh t (Trang 15)
Hình III.4. Bi u di n các m c c a m t danh sách ph c h p. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.4. Bi u di n các m c c a m t danh sách ph c h p (Trang 18)
Hình III.5. Bi u di n d ng cây các b   đ ôi. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.5. Bi u di n d ng cây các b đ ôi (Trang 35)
Hình III.6. Bi u di n danh sách b i các b   đ ôi. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.6. Bi u di n danh sách b i các b đ ôi (Trang 35)
Hình III.9.  t bi n gây ra hi u  ng ph . - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.9. t bi n gây ra hi u ng ph (Trang 36)
Hình III.8.  t bi n c a C c ng là  đ t bi n c a D. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.8. t bi n c a C c ng là đ t bi n c a D (Trang 36)
Hình III.7. Nhi u m i tên cùng bi u di n m t con tr . - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.7. Nhi u m i tên cùng bi u di n m t con tr (Trang 36)
Hình III.12. Bài toán s p x p dãy các viên bi ba màu. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh III.12. Bài toán s p x p dãy các viên bi ba màu (Trang 44)
Hình IV.2. Bi u di n  đ n th c b i b   đ ôi. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh IV.2. Bi u di n đ n th c b i b đ ôi (Trang 80)
Hình IV.3. Tìm l i gi i trên cây tr ng thái. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh IV.3. Tìm l i gi i trên cây tr ng thái (Trang 82)
Hình IV.4. M t l i gi i c a bài toán 8 quân h u. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh IV.4. M t l i gi i c a bài toán 8 quân h u (Trang 83)
Hình IV.5. V  trí ch p nh n  đ c c a m t quân h u. - Tài liệu Kiểu dữ liệu phức hợp_chương 3 doc
nh IV.5. V trí ch p nh n đ c c a m t quân h u (Trang 84)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w