Giáo trình toán rời rạc phần 2 TS đỗ văn nhơn (biên soạn)

100 1.1K 2
Giáo trình toán rời rạc  phần 2   TS  đỗ văn nhơn (biên soạn)

Đ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

Chương 4: I THUẬT TOÁN Thuật toán cách biểu diễn thuật toán 1.1 Khái niệm thuật toán Thuật toán khái niệm Toán học Tin học Khi viết chương trình máy tính, người ta thường cài đặt phương pháp nghó trước để giải vấn đề Từ “thuật toán” dùng khoa học máy tính để để mô tả phương pháp giải toán thích hợp cho việc cài đặt thành chương trình nhờ ngôn ngữ lập trình Một thuật toán thường thể thủ tục gồm dãy hữu hạn bước mà theo ta đạt đến lời giải cho toán Người ta trình bày thuật toán cách liệt kê bước thuật toán sử dụng ngôn ngữ tự nhiên hay ngôn ngữ qui ước chẳng hạn sử dụng ngôn ngữ lập trình gần với ngôn ngữ tự nhiên Ví dụ 1: thuật toán tìm phần tử lớn dãy hữu hạn số nguyên Bài toán tìm phần tử lớn dãy hữu hạn tương đối tầm thường Tuy nhiên ví dụ tốt để minh họa cho khái niệm thuật toán Có nhiều vấn đề mà đòi hỏi phải tìm số nguyên lớn dãy số Chẳng hạn việc tìm học sinh có điểm cao kỳ thi, hay tìm nhân viên có suất cao xí nghiệp, v.v -120- Chúng ta có nhiều cách để giải toán nầy Một phương pháp để tìm phần tử lớn dãy số nguyên thực thủ tục theo bước sau đây: Trước hết ta đặt cho giá trị lớn tạm thời số nguyên (Giá trị lớn tạm thời giá trị lớn giai đoạn thủ tục.) So sánh số nguyên dãy với giá trị lớn tạm thời, lớn giá trị lớn tạm thời đặt cho giá trị lớn tạm thời số nguyên nầy Lặp lại bước số nguyên dãy chưa xét tới Dừng không số nguyên dãy chưa xét Giá trị lớn tạm thời lúc nầy giá trị lớn dãy số Ví dụ 2: Thuật toán tính nghiệm phương trình bậc hai: ax2 + bx + c = biết hệ số a, b, c (a  0) Bước 1: Tính giá trị  theo công thức  = b2 - 4ac Bước 2: Xét dấu , ta có kết tùy thuộc trường hợp sau đây: - Trường hợp  > 0: Phương trình có nghiệm tính theo công thức -b  x = 2a - Trường hợp  = 0: Phương trình có nghiệm kép tính theo công thức -b x = 2a -121- - Trường hợp  < 0: Phương trình vô nghiệm 1.2 Biểu diễn thuật toán Để trình bày thuật toán hay biểu diễn thuật toán, ta sử dụng phương pháp biểu diễn thuật toán sau đây: Dùng ngôn ngữ tự nhiên Dùng lưu đồ hay sơ đồ khối Dùng mã giả - Lưu đồ: Ngôn ngữ lưu đồ hay sơ đồ khối công cụ trực quan để diễn đạt thuật toán Biểu diễn lưu đồ giúp ta có nhìn tổng quan toàn cảnh trình xử lý theo thuật toán Lưu đồ hệ thống nút có hình dạng khác nhau, thể chức khác nối với cung Lưu đồ tạo thành thành phần chủ yếu sau đây: 1/ Nút giới hạn: biểu diễn hình ôvan có ghi chữ bên : BẮT ĐẦU KẾT THÚC Các nút gọi nút đầu nút cuối lưu đồ -122- 2/ Nút thao tác: hình chữ nhật có ghi lệnh cần thực Ví dụ: tăng k 3/ Nút điều kiện: thường hình thoi có ghi điều kiện cần kiểm tra Trong cung nối với nút nầy có cung hướng theo trường hợp: điều kiện điều kiện sai Ví dụ: 4/ Cung: đường nối từ nút nầy đến nút khác lưu đồ Hoạt động thuật toán theo lưu đồ nút Sau thực thao tác kiểm tra điều kiện nút xử lý theo cung để đến nút khác Quá trình thực thuật toán dừng gặp nút kết thúc hay nút cuối Trong giáo trình nầy chủ yếu sử dụng ngôn ngữ tự nhiên mã giả để trình bày thuật toán Trong cách sử dụng ngôn ngữ tự nhiên ta liệt kê bước thực thao tác hay công việc thuật toán ngôn ngữ mà người sử dụng cách phổ thông hàng ngày Các thuật toán trình bày hai ví dụ -123- cách biểu diễn thuật toán dùng ngôn ngữ tự nhiên Mặc dù cách biểu diễn nầy tự nhiên không đòi hỏi người viết thuật toán phải biết nhiều quy ước khác, rõ tính cấu trúc thuật toán nên không thuận lợi cho việc thiết kế cài đặt thuật toán phức tạp Hơn nhiều trường hợp việc biểu diễn thuật toán ngôn ngữ tự nhiên tỏ dài dòng dẽ gây nhầm lẫn người đọc Còn việc sử dụng lưu đồ cồng kềnh thuật toán phức tạp - Mã giả: Để biểu diễn thuật toán cách hiệu quả, người ta thường dùng mã giả (pseudocode) Theo cách nầy, ta sử dụng số qui ước ngôn ngữ lập trình, chẳng hạn ngông ngữ lập trình PASCAL, cấu trúc điều khiển ngôn ngữ lập trình cấu trúc chọn, cấu trúc lặp Trong mã giả ta sử dụng ký hiệu toán học, biến, cấu trúc kiểu thủ tục Cấu trúc thuật toán kiểu thủ tục thường sử dụng để trình bãy thuật toán đệ qui hay thuật toán phức tạp cần phải trình bày thành nhiều cấp độ Cùng với việc sử dụng biến, thuật toán thường gặp phát biểu hành động đặt (hay gán) giá trị cho biến Ví du:ï hành động tăng biết i lên viết sau: i := i + hay ii+1 -124- Các cấu thường sử dụng mã giả dựa theo ngôn ngữ lập trình PASCAL gồm: 1/ Cấu trúc chọn: if (điều kiện) then (hành động) if (điều kiện) then (hành động) else (hành động) 2/ Cấu trúc lặp: while (điều kiện) (hành động) Repeat (hành động) Until (điều kiện) động) for (biến) := (giá trị đầu) to (giá trị cuối) (hành for (biến) := (giá trị đầu) downto (giá trị cuối) (hành động) 3/ Cấu trúc nhảy goto Ngoài người ta sử dụng lệnh ngắt vòng lặp break Dưới thuật toán biểu diễn mã giả (sử dụng cấu trúc điều khiển ngôn ngữ lập trình PASCAL) Trước viết -125- bước thực thuật toán ta thường ghi rõ cho trước (phần nhập) kết cần đạt (phần xuất) - Thuật toán tìm phần tử lớn dãy hữu hạn số nguyên: Nhập: dãy số a1, a2, , an Xuất: max giá trị lớn dãy số cho input Thuật toán: max := a1 for i := to n if max < a1 then max := a1 max giá trị lớn dãy số - Thuật toán giải phương trình bậc hai ax2 + bx + c = (a  0): Nhập : hệ số a, b, c Điều kiện : a  Xuất : nghiệm phương trình Thuật toán: delta := b2 - 4*a*c if delta > then begin x1 := (-b - sqrt(delta)) / (2*a); x2 := (-b+sqrt(delta)) / (2*a); Xuất kết quả: phương trình có hai nghiệm x1 x2; end esle if delta = then Xuất kết quả: phương trình có nghiệm kép -b / (2*a) else trường hợp delta < 0 -126- Xuất kết quả: phương trình vô nghiệm; (Trong thuật toán nầy, ký hiệu sqrt(delta) dùng để bậc hai dương delta) 1.3 Các tính chất thuật toán Thuật toán có vai trò quan trọng khoa học máy tính Để lập trình giải toán máy tính, ta cần có thuật toán bảo đảm tính chất định Khi mô tả thuật toán cần ý đến tính chất sau đây:        Nhập (input): Các thuật giải có giá trị nhập (input values) từ tập hợp định Xuất (output): Từ tập hợp giá trị nhập thuật toán thường tạo giá trị xuất (output values) thuộc tập hợp định thể lời giải cho toán Tính xác định (definiteness): Các bước thuật toán phải xác rõ ràng Tính hữu hạn (finiteness): Thuật toán phải cho lời giải (hay kết quả) sau số hữu hạn bước Tính hiệu (về thời gian): Thuật toán cần phải thực cách xác khoảng thời gian cho phép Tính tổng quát Thuật toán phải áp dụng cho tất toán có dạng mong muốn, áp dụng cho số trường hợp đặc biệt Tình đúng: Thuật toán phải cho kết mong muốn -127- Trong tính chất trên, tính chất thuật toán đòi hỏi phải thỏa mãn tính xác định, tính hữu hạn tính Các thuật toán hai ví dụ trình bày thỏa mãn tính chất nêu Dưới xét thêm số ví dụ thuật toán Ví dụ 3: Thuật toán tìm kiếm tuyến tính (Linear Search) Bài toán đặt xác định xem phần tử x có dãy a1, a2, , an hay không? Lời giải toán nầy giá trị vị trí (hay số) phần tử dãy phần tử x, x dãy Một thuật toán đơn giản để giải toán nầy thuật toán tìm kiếm tuyến tính (hay gọi tìm kiếm tuần tự) Thuật toán bắt đầu việc so sánh x với a1, x = a1 lời giải vị trí a1(tức 1) Khi x  a1, ta tiếp tục so sánh x với a2 Nếu x = a2, lời giải vị trí a2(tức 2) Khi x  a2, ta tiếp tục so sánh x với a3 Cứ tiếp tục trình nầy: so sánh x với phần tử dãy gặp phần tử x đạt đến cuối dãy Lời giải vị trí phần tử dãy x; phần tử dãy x Thuật toán nầy viết dạng mã Thuật toán: Tìm kiếm tuyến tính (hay tuần tự) Nhập : dãy a1, a2, , an, phần tử x Xuất : vị trí x dãy (chỉ số phần tử dãy với x), -128- Thuật toán: i := while ( i  n and x  ) i := i + 1; if i  n then location := i else location := location laø lời giải (ví trí cần tìm) Trong thuật toán nầy từ "location" biến nguyên Ghi : Trong trường hợp dãy a1, a2, , an có thứ tự ta tìm kiếm theo thuật toán tìm kiếm nhị phân (binary search) Ta tham khảo thuật toán nầy sách "cấu trúc liệu thuật toán" Ví dụ 4: thuật toán kiểm tra tính đối xứng ma trận Nhập : ma trận M cấp n Xuất : Yes ma trận M ma trận đối xứng No M không đối xứng Thuật toán: for i := to n-1 for j := i + to n if Mij  Mij then Kết xuất “No”, dừng thuật toán Kết xuất “Yes” -129- (4) Phép toán S có tính chất : x + x = 1, với x  S x x = 0, với x  S Theo đinh nghóa, tập hợp S có phần tử, Ta thường viết đại số Bool dạng (S, +, , , 0, 1) Ghi : Tính chất lũy đẳng phép toán + suy từ tính chất khác định nghóa Thật vậy, với x  S ta coù : x=x+0 (3) = x + (x x ) (4) = (x+x).(x+ x ) (2) = (x+x).1 (4) = x+x (3) Tương tự, tính chất x = x.x suy từ tính chất khác Ví dụ: Cho E tập hợp Ký hiệu phép lấy phần bù tập hợp tập hợp E Ta có (P(E), , , , , E) đại số Bool Trên tập hợp B = 0, 1 ta định nghóa hai phép toán cộng (+) nhân (.) bảng sau : + 0 1 1 -205- 0 1 phép toán định nghóa : = = Ta kiểm chứng (B, +, , , 0, 1) đại số Bool Đặt S tập hợp ước số (dương) 30, tức S = 1,2,3,5,6,10,15,30 Trên S ta định nghóa phép toán +, , sau : a + b = bội số chung nhỏ a b a b = ước số chung lớn a b 30 a= a với a,b  S Khi ta có (S, +, , , 1, 30) đại số Bool Các định lý cho ta số tính chất tổng quát cho đại số Bool Việc chứng minh tính chất nầy xem tập Định lý Với phần tử x thuộc đại số Boole (S, +, , ta có : x=x , 0, 1) Định lý Với x, y thuộc đại số Boole (S, +, , , 0, 1) ta coù : x (x + y) = x x + (x y) = x Định lý Với x, y thuộc đại số Boole (S, +, , , 0, 1) ta coù : x+ y = x y x y= x+y -206- 2.2 Đại số Bool Dàn Chúng ta biết dàn (L, ) có phép toán ký hiệu   Phép toán  cho ta chận nhỏ phần tử, phép toán  cho ta chận lớn phần tử Hai phép toán nầy có tính chất : kết hợp, giao hoán, lũy đẳng Để dàn có cấu trúc đại số Bool, ta phải có thêm phép toán số điều kiện Trước hết nêu lên số khái niệm liên quan đến dàn Định nghóa Một dàn L gọi dàn phân bố hai phép toán   dàn phân bố lẫn nhau, tức với x, y, z thuộc L ta có x  (y  z) = (x  y)  (x  z) x  (y  z) = (x  y)  (x  z) Định nghóa Cho dàn (L, ) Giả sử L có phần tử nhỏ nhất, ký hiệu phần tử lớn nhất, ký hiệu Một phần tử x  L gọi có (phần tử) bù có phần tử x’  L cho x  x’ = vaø x  x’ = Ta nói dàn L dàn bù x  L có phần tử bù Ghi : Chúng ta chứng minh phần tử bù x’ x định nghóa Vậy, dàn bù L ta định nghóa phép toán x = phần tử bù x, với x  L Qua định nghóa ta thấy dàn bù L ta định nghóa phép toán tương ứng : , , Phép toán  phép -207- toán  phép toán ngôi, phép toán phép toán Như ta có cấu trúc (L, , , , 0, 1) người ta chứng minh cấu trúc nầy đại số Bool dàn L thỏa thêm điều kiện phân bố Định lý Giả sử (L,) dàn bù phân bố Trên L ta định nghóa phép toán , , Khi ta có (L, , , , 0, 1) đại số Bool Định lý nầy cho phép xem dàn bù phân bố đại số Bool Ví dụ: Cho E tập hợp Ta biết (P(E), ) dàn Trong dàn nầy phép toán  phép toán  (hội tập hợp), phép toán  phép toán  (giao tập hợp) Do tính chất phép toán tập hợp, ta có (P(E), ) dàn phân bố Hơn nữa, theo thứ tự , P(E) có phần tử nhỏ  phần tử lớn E Mỗi A  P(E) có phần tử bù tập hợp bù Ac A E Ký hiệu phép toán lấy bù Theo định lý nêu ta có (P(E), , , , , E) đại số Bool, cấu trúc đại số Bool nầy tương ứng với quan hệ thứ tự  P(E) Đảo lại với định lý 4, định lý cấu trúc đại số Bool ta định nghóa thứ tự tương ứng cho trở thành dàn bù phân bố, cấu trúc đại số Bool tương ứng dàn nầy theo định lý trùng với cấu trúc đại số Bool ban đầu Như vậy, có tương ứng 1-1 cấu trúc đại số Bool cấu trúc dàn bù phân bố -208- Định lý Cho (S, +, , , 0, 1) đại số Boole Khi tồn thứ tự  S cho (S, ) dàn bù phân bố Hơn phép toán S xác định thứ tự sau : a + b = sup(a,b) a b = inf(a,b) với a, b  S Ghi : - Trong chứng minh định lý trên, thứ tự  S định nghóa cách sau : cách 1: a  b  a + b = b , với a, b  S cách 2: a  b  a b = a , với a, b  S - Do định lý trên, đại số Bool hữu hạn có biểu đồ Hasse tương ứng ta có cấu trúc thứ tự tương ứng đại số Bool Dưới phát biểu định lý quan trọng đại số Bool, gọi định lý biểu diễn hay định lý Stone Chứng minh định lý nầy tìm thấy sách [1] [4] Định nghóa Giả sử B B' đại số Bool Ta nói đại số Bool B đẳng cấu với đại số Bool B' có song ánh f : B  B' cho a, b  B ta có điều kiện sau ñaây: (i) (ii) (iii) f (a  b) = f(a)  f(b) f (a  b) = f(a)  f(b) f ( a ) = f(a) Nhận xét: Ta chứng minh điều kiện (iii) định nghóa suy từ hai điều kiện (i) (ii) Do đó, để kiểm tra điều kiện ta cần kiểm tra điều kiện (i) -209- (ii) Hơn nữa, f : B  B' đẳng cấu đại số Bool f đẳng cấu dàn xem B B' dàn tương ứng với cấu trúc đại số Bool Định lý (Định lý biểu diễn hay định lý Stone) Mọi đại số Bool hữu hạn B đẳng cấu với P(E), E tập hợp hữu hạn Hệ quả: Số phần tử đại số Bool hữu hạn lũy thừa 2 Hai đại số Bool hữu hạn có số phần tử đẳng cấu với III HÀM BOOL 3.1 Định nghóa hàm Bool tính chất Hàm Bool khái niệm quan trọng công cụ việc khảo sát sơ đồ mạch điện tính toán thiết kế mạch logic Trong phần nầy ký hiệu B tập hợp giá trị 1: B = 0, 1 Trên tập hợp B ta định nghóa phép toán cộng, nhân phép lấy bù phần tử thuộc B sau: + = 0; + = + = + = = = = 0; = = 1; = -210- Một biến x gọi biến Bool x lấy giá trị thuộc B Theo định nghóa phép toán với biến Bool x, y ta có: (i) (ii) (iii) x+x = x; x2 = x.x = x x+y = x = y = x.y = x = y = Ngoài ra, ta thấy phép toán cộng, nhân bù B định nghóa giống phép toán logic , ,  nên ta có tính chất phép toán logic: luật phủ định phủ định, luật lũy đẳng, luật phần tử trung hòa, luật phần tử trung bù, luật giao hoán, luật kết hợp, luật phân bố, luật De Morgan, luật thống trị Cho n số nguyên dương, nhắc lại ký hiệu Bn tập hợp tất n giá trị Bool (b1, b2, …, bn) - Định nghóa: Một hàm Bool theo n biến ánh xạ f : Bn  B (x1, x2, …, xn)  f(x1, x2, …, xn) Từ định nghóa ta thấy hàm Bool xác định cách liệt kê dạng bảng, gọi bảng giá trị hàm Bool, hay cách cho biểu thức Bool Ví dụ: Cho f g : B3  B hàm Bool (theo biến x, y, z) xác định x 0 y 0 z -211- f(x,y,z) 0 1 1 1 0 1 1 1 1 vaø g(x,y,z) = xy + z - Các phép toán hàm Bool: Từ phép toán cộng, nhân bù B ta định nghóa phép toán cộng, nhân bù hàm Bool theo n biến sau: f (x1, x2, …, xn) = - f(x1, x2, …, xn) = bù f(x1, x2, …, xn) (f+g) (x1, x2, …, xn) = f(x1, x2, …, xn) + g(x1, x2, …, xn) (f.g) (x1, x2, …, xn) = f(x1, x2, …, xn) g(x1, x2, …, xn) Tương tự phép toán B, phép toán hàm Bool nầy có tính chất :  Luật phủ định phủ định  Luật lũy đẳng  Luật phần tử trung hòa  Luật phần tử trung bù  Luật giao hoán  Luật kết hợp  Luật phân bố  Luật De Morgan  Luật thống trị -212- Ví dụ: Dưới số ví dụ áp dụng luật việc biến đổi biểu thức Bool x + xy = x1 + xy = x(1+y) = x = x wx + xz + y + z = = = = wx + ( x + z ) + y + z wx + (x + z ) + y + z (wx + x) + y + z + z x+y+ z 3.2 Biểu diễn hàm Bool - Định nghóa: Cho n số nguyên dương f hàm Bool theo n biến x1, x2, …, xn Ta nói (a) biểu thức Bool (hay hàm Bool) có dạng xi x i từ đơn (b) biểu thức Bool tích có dạng y1y2…yn với yi = xi x i, với i = 1, 2, …, n (c) biểu diễn f dước dạng tổng tích dạng tắc tuyển f, viết tắc d.n.f (disjunctive normal form) f Mệnh đề: Mọi hàm Bool f khác viết cách (không kể sai khác thứ tự trước sau tích bản) dạng d.n.f Ví dụ: Tìm d.n.f hàm Bool f: B3  B với f(x,y,z) = xy + x z Ta lập bảng giá trị f sau: -213- x 0 0 1 1 y 0 1 0 1 z 1 1 xy 0 0 0 1 xz 1 0 0 f 1 0 1 Cột giá trị f có giá trị (ứng với trường hợp giá trị x, y, z) Chúng tích d.n.f f, từ ta có: f(x,y,z) = x yz  xyz  xyz  xyz Một cách khác để giải toán nầy sử dụng tính chất phép toán Bool, ta coù xy + x z = xy(z + z ) + x (y + y )z = x yz  xyz  xyz  xyz 3.3 Mạng cổng công thức đa thức tối tiểu Một sơ đồ mạch điện tử với hai đầu vào a b, đầu a.b biểu diễn sơ đồ sau đây, gọi Cổng “VÀ” -214- Tương tự, phép toán Bool khác ta có cổng tương ứng : cổng “HAY”, cổng “KHÔNG”, cổng “KHÔNG-VÀ”, cổng “KHÔNG-HAY” Các cổng nầy có ký hiệu sơ đồ Mỗi biểu thức Boole hay hàm Bool theo n biến sơ đồ mạch tương ứng Sơ đồ mạch nầy có n đầu vào đầu ra, hệ thống lắp ghép từ cổng logic Ví dụ: Hàm Bool f(x,y) = x  xy y có sơ đồ mạch tương ứng sau: -215- Vấn đề đặt tìm công thức tối ưu cho hàm Bool theo mục tiêu Một dạng công thức quan tâm hàm Bool dạng tổng tích mà ta gọi công thức đa thức Trên tập hợp tất dạng công thức đa thức hàm Bool ta định nghóa quan hệ đơn giản từ ta có khái niệm công thức đa thức tối tiểu Để tìm công thức đa thức tối tiểu hàm Bool theo biến biến ta sử dụng biểu đồ Karnaugh -216- BÀI TẬP Câu 1: Kiểm tra tính giao hoán tính kết hợp phép toán sau : Phép toán * N cho : a * b = a+b+2,  a,b  N Phép toán * X = x R  x > 0 định : a* b = ab/(a+b) Phép toán * R định : a* b = a+b+ab Các phép toán * T X = a, b, c định nghóa bảng Cayley sau đây: * a b c a b c a b a b c c c a b T a b c a c a b b a b c c b c a Câu 2: Cho tập hợp X hữu hạn có n phần tử Giả sử * phép toán định nghóa bảng Cayley Hãy trình bày thuật toán để kiểm tra tính chất sau phép toán : tính kết hợp tính giao hoán có phần tử trung hòa ? Giả sử có phần tử trung hòa Kiểm tra tính khả nghịch phần tử Câu 3: Cho M ma trận cấp n liên kết với phép toán * tập hợp X = 1, 2, , n Hãy viết hàm Boole IDEMP(M), với đối ma trận M, cho IDEMP(M) phép toán * lũy đẳng -217- Caâu 4: Cho S = 1, 2, , n tập hữu hạn gồm n phần tử, với hai phép toán V , phép toán ‘ Gọi M K ma trận liên kết phép toán V  Phép toán ‘ biểu dãy A gồm n phần tử S (trong dãy có phần tử giống nhau) Hãy xây dựng hệ thống hàm kiểm tra tính chất liên quan đến phép toán, từ viết hàm có giá trị Bool Bool_Alg (M,K,A) kiểm tra xem cấu trúc (S, V, , ’, 1, n) có phải đại số Bool hay không Câu 5: Đọc thêm biểu đồ Karnaugh giảng thực yêu cầu sau: (a) Viết bước để tìm công thức đa thức tối tiểu hàm Bool từ biểu đồ Karnaugh (b) Tìm công thức đa thức tối tiểu hàm Bool f(x,yz,t) có biểu đồ Karnaugh đây: -218- Tài liệu tham khaûo J K Truss Discrete Mathematics for Computer Scientists Addison Wesley Longman, 1998 R P Grimaldi Discrete and Combinatorial Mathematics - An Applied Introduction Addison Wesley, 1994 K H Rosen Discrete Mathematics and Its Applications AT & T Information Systems, 1988 Nguyễn Hữu Anh Toán Rời Rạc NXB Giáo Dục, 1999 Hoàng Kiếm Giải Bài toán Máy Tính Như - tập NXB Giáo Dục, 2000 -219- ... x với a2 Nếu x = a2, lời giải vị trí a2(tức 2) Khi x  a2, ta tiếp tục so sánh x với a3 Cứ tiếp tục trình nầy: so sánh x với phần tử dãy gặp phần tử x đạt đến cuối dãy Lời giải vị trí phần tử... thức toán Tháp Hà nội số lần chuyển đóa cho toán với n đóa 2n-1 5.3 Lớp toán NP Như trình bày phần trên, toán người ta mong muốn tìm thuật toán có độ phức tạp đa thức để giải không may có toán. ..  O(g1(n)) f2(n)  O(g2(n)) Khi ta coù f1(n) + f2(n)  O ( max(g1(n), g2(n)) ) -133- Hệ f1(n) f2(n) thuộc O(g(n)) ta có f1(n) + f2(n)  O(g(n))  Giả sử f1(n)  O(g1(n)) f2(n)  O(g2(n)) Khi ta

Ngày đăng: 06/12/2015, 20:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan