1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tổ chức dữ liệu và thuật toán cho các bài toán quy hoạch động

70 1 0

Đ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

Định dạng
Số trang 70
Dung lượng 1,11 MB

Nội dung

i ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG ĐỖ THỊ LINH TỔ CHỨC DỮ LIỆU VÀ THUẬT TOÁN CHO CÁC BÀI TOÁN QUY HOẠCH ĐỘNG LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN - 2012 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên Tai ngay!!! Ban co the xoa dong chu nay!!! http://www.lrc-tnu.edu.vn ii LỜI CAM ĐOAN Tôi xin cam đoan luận văn tự thân tơi tìm hiểu, nghiên cứu Các tài liệu tham khảo trích dẫn thích đầy đủ Nếu khơng tơi xin hồn tồn chịu trách nhiệm Tác giả luận văn Đỗ Thị Linh Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iii LỜI CẢM ƠN Tơi xin bày tỏ lịng biết ơn chân thành đến Ban Giám Hiệu, thầy giáo, giáo phịng Sau đại học trường Đại học Cơng Nghệ Thông Tin & Truyền Thông, thầy giáo Viện Công Nghệ Thông Tin giảng dạy tạo điều kiện cho học tập, nghiên cứu hồn thành luận văn Đặc biệt, tơi xin bày tỏ kính trọng lịng biết ơn sâu sắc đến PGS.TSKH Nguyễn Xuân Huy - người tận tình hướng dẫn giúp đỡ tơi suốt q trình học tập, nghiên cứu hoàn thành luận văn Cảm ơn gia đình, bạn bè hết lịng giúp đỡ, khích lệ, động viên tơi để tơi hồn thành luận văn Xin chia sẻ niềm vui với bạn bè người thân yêu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn iv MỤC LỤC Lời cam đoan i Lời cảm ơn iii Mục lục iv Danh mục bảng vi Danh mục hình vii MỞ ĐẦU 1 Lý chọn đề tài Đối tượng phạm vi nghiên cứu Những nội dung nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học đề tài Chƣơng TỔNG QUAN VỀ PHƢƠNG PHÁP QUY HOẠCH ĐỘNG 1.1 Giới thiệu chung 1.2 Thuật toán chia để trị 1.3 Nguyên lý tối ưu Bellman 1.4 Đặc điểm chung phương pháp quy hoạch động 1.5 Ý tưởng nội dung thuật toán quy hoạch động 1.5.1 Các khái niệm 1.5.2 Ý tưởng 1.5.3 Nội dung 10 1.6 Các bước thực 10 Chƣơng MỘT SỐ KỸ THUẬT GIẢI BÀI TOÁN QUY HOẠCH ĐỘNG 13 2.1 Lập hệ thức 13 2.1.1 Tạo công thức truy hồi từ cơng thức có 13 2.1.2 Dựa theo thứ tự xây dựng 16 2.1.2.1 Xây dựng dựa theo thứ tự đầu 16 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn v 2.1.2.2 Xây dựng theo thứ tự cuối 18 2.1.3 Phụ thuộc vào số biến hàm 23 2.1.3.1 Cơng thức truy hồi có biến 23 2.1.3.2 Cơng thức truy hồi có hai biến 27 2.1.3.3 Công thức truy hồi có ba biến 28 2.2 Tổ chức liệu 31 Chƣơng THUẬT TỐN QUY HOẠCH ĐỘNG VÀ LÝ THUYẾT TRỊ CHƠI 37 3.1 Bài tốn trị chơi 37 3.2 Lý thuyết trò chơi 38 3.2.1 Trò chơi đồ thị 41 3.2.1.1 Trường hợp đồ thị khơng có chu trình 41 3.2.1.2 Trường hợp đồ thị có chu trình 42 3.2.1.3 Giải thuật xây dựng W L độ phức tạp O(E) 43 3.2.2 Tổng trực tiếp Hàm Sprague - Grundy 43 3.2.3 Trò chơi ma trận 49 3.3 Kỹ thuật lập trình 50 3.3.1 Tính trực tiếp hàm Sprague - Grundy 50 3.3.2 Kỹ thuật bảng phương án (Decide Table) 54 KẾT LUẬN 61 TÀI LIỆU THAM KHẢO 62 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn vi DANH MỤC CÁC BẢNG Trang Bảng 2.1 Bảng số lần gọi hàm f(n) với n = 13 Bảng 2.2 Các phương án chia kẹo với m = 7, n = 19 Bảng 2.3 Số lần gọi hàm cục gọi C(7, 4) 32 Bảng 3.1 Bảng phương án cho toán lật xúc xắc 59 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn vii DANH MỤC CÁC HÌNH Trang Hình 1.1 Đồ thị mơ tả quan hệ tốn tốn tìm số hạng thứ năm dãy Fibonacci Hình 2.1 Cây biểu diễn lời gọi hàm f tốn tính hàm f(5) 14 Hình 2.2 Cây biểu diễn số lần gọi hàm cục gọi hàm C(7, 4) 33 Hình 3.1 Không gian trạng thái không gian điều khiển toán lật xúc xắc 40 Hình 3.2 Biểu diễn nước trị chơi dạng đồ thị có hướng 40 Hình 3.3 Biểu diễn tính số Sprague - Grundy 44 Hình 3.4 Sơ đồ thuật giải trò chơi NIM 52 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU Lý chọn đề tài Ngày với phát triển vũ bão khoa học công nghệ giới, xuất phát chậm nhiều nước chục năm qua đất nước trải qua cách mạng lớn lao cơng nghệ thơng tin Để đáp ứng địi hỏi phát triển phải có kế hoạch đào tạo bồi dưỡng cá nhân có niềm say mê có khiếu lĩnh vực tin học trang bị vốn kiến thức sở vững chắc, giúp cho mục tiêu trước đón đầu, rút ngắn khoảng cách trình độ tin học nước ta giới Trong trình học tập, gặp nhiều tập toán tin Các tập dạng phong phú đa dạng Thực tế chưa có thuật tốn hồn chỉnh áp dụng cho toán Tuy nhiên người ta tìm số thuật tốn chung như: chia để trị, tham ăn, quay lui, Các thuật toán áp dụng để giải lớp rộng toán hay gặp thực tế Giáo sư Niklaus Wirth, người sáng tác ngôn ngữ Pascal có triết lý: Cấu trúc liệu + Giải thuật = Chương trình Với học sinh, sinh viên phải trang bị kiến thức sở loại cấu trúc liệu trang bị kiến thức tiên tiến giải thuật Việc truyền đạt kiến thức số thuật toán như: quay lui, nhánh cận, quy hoạch động, tham lam, giải thuật đồ thị… cần thiết cho học sinh, sinh viên việc bồi dưỡng học sinh giỏi trường trung học phổ thông để phát triển tư lập trình giải tốn tin học Hình thành nét nghệ thuật đốn nhận giải thuật nghệ thuật lập trình Tạo lập củng cố lịng say mê tìm hiểu khám phá cho học sinh giải tốn tin Hiện có nhiều tài liệu tham khảo số thuật tốn trên, có thuật toán quy hoạch động bàn luận nhiều Đây thuật toán hay ứng dụng cho nhiều tốn tin đặc biệt tốn địi hỏi phải tổ Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn chức khéo léo để giải với liệu lớn Việc áp dụng quy hoạch động vào giải tập tin học không đơn giản học sinh Nhất hầu hết tập quy hoạch động nâng thêm tầm cao Điều thể rõ đề thi học sinh giỏi quốc gia quốc tế Vì tơi thấy cần phải phân tích số kĩ thuật để giải tập áp dụng thuật toán quy hoạch động Nhằm nâng cao chất lượng, hiệu việc bồi dưỡng học sinh giỏi tin học Ngoài lý thuyết trị chơi lĩnh vực hay, có nhiều ứng dụng ta vận dụng số kỹ thuật quy hoạch động vào toán trị chơi Trong khn khổ luận văn thạc sỹ, tơi chọn đề tài nghiên cứu: “Tổ chức liệu thuật toán cho toán Quy hoạch động” Các tập luận văn lấy từ kỳ thi học sinh giỏi lấy từ tài liệu tham khảo Nó khơng phải hệ thống tập xây dựng để dạy chuyên đề quy hoạch động Mục đích tơi thơng qua tập để đưa số kỹ thuật hay sử dụng phương pháp quy hoạch động số tốn trị chơi Đối tƣợng phạm vi nghiên cứu: Thuật toán quy hoạch động ứng dụng để giải số toán quy hoạch động, tốn trị chơi Những nội dung nghiên cứu Chương Tổng quan thuật tốn quy hoạch động Chương giới thiệu số vấn đề liên quan đến phương pháp chia để trị, nguyên lí tối ưu Bellman, đặc điểm, ý tưởng nội dung thuật toán quy hoạch động Chương Một số kinh nghiệm xây dựng thuật toán quy hoạch động Chương hai trình bày số kinh nghiệm xây dựng thuật toán quy hoạch động để giải tốn quy hoạch động có sâu vào phân tích Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn số toán để làm rõ cách tổ chức liệu lập hệ thức đưa số toán để áp dụng Chương Thuật toán quy hoạch động lý thuyết trị chơi Chương ba trình bày lý thuyết trị chơi số tốn trị chơi Phƣơng pháp nghiên cứu: phân tích, đối sánh, liệt kê, nghiên cứu tài liệu, tổng hợp kết nhà nghiên cứu liên quan đến lĩnh vực nghiên cứu Ý nghĩa khoa học đề tài: phương pháp quy hoạch động áp dụng để giải hàng loạt tốn thực tế q trình kỹ thuật công nghệ, tổ chức sản xuất, kế hoạch hố kinh tế… Chính lẽ mà kì thi học sinh giỏi quốc gia quốc tế thường gặp loại tốn Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 49 giảm đơn vị khơng cịn số chẵn Từ suy bit j x 1, tức x ≠ đpcm Phần lập luận chủ yếu mệnh đề nhằm mục đích tồn tập thỏa tính chất > xai Nếu tìm tập ta bốc ai(xai) viên đống sỏi i [7] 3.2.3 Trò chơi ma trận Cho ma trận A = ((aij)), i = ÷ m, j = ÷ n Các trị chơi xác định ma trận A trò chơi ma trận Ví dụ: Với ma trận A nói trên, với tổng S ban đầu chưa có hàng hay cột bị đánh dấu xóa hai người thực k lần đoán số (k0, i = ÷ n) Có người chơi Mỗi người, đến lượt phải bốc số lượng sỏi tùy Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 51 ý, lớn từ đống tùy chọn Ai đến lượt khơng cịn cách bốc người thua Hãy xác định lần người thứ có cách bốc sỏi để thắng Hai cách bốc gọi khác thực đống khác Dữ liệu: Vào từ file văn NIM.INP:  Dòng chứa số nguyên n (2 ≤ n ≤ 1000),  Dòng thứ i n dòng sau chứa số nguyên (1 ≤ ≤ 109) Kết quả: Đưa file văn NIM.OUT:  Dòng đưa số nguyên k - số cách bốc khác thực k = khơng có cách bốc để thắng  Nếu k> dòng k dòng sau đưa số nguyên j bj theo thứ tự tăng dần j, xác định cần bốc bj viên sỏi từ đống thứ j Ví dụ: NIM.INP NIM.OUT 12 13 14 a1 = 1210 = 11002 g-a1 =  số sỏi cần bốc: a2 = 810 = 10002 g-a2 =  số sỏi cần bốc: a3 = 510 = 01012 g-a3 = 10không bốc từ đống a4 = 1410 = 11102 g-a4 =  số sỏi cần bốc: 13 g = 1111 Lưu ý: Giá trị g - nhận phép tính lơ gic gai Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 52 Hình 3.4 Sơ đồ thuật giải trị chơi NIM Chương trình PASCAL Program NIM; Const tfi='NIM.INP'; tfo='NIM.OUT'; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 53 Var a:array[1 1000] of longint; i,n,g,t,k:longint; fi,fo:text; BEGIN assign(fi,tfi); reset(fi); readln(fi,n); for i := to n readln(fi,a[i]); close(fi); g:=0; for i:=1 to n g:=g xor a[i]; k:=0; for i:=1 to n begin t:=a[i]-(a[i] xor g); if t>0 then begin inc(k); a[i]:=t end else a[i]:=0 end; assign(fo,tfo); rewrite(fo); writeln(fo,k); if k > then for i:=1 to n if a[i]>0 then writeln(fo,i,' ',a[i]); close(fo) END [2] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 54 3.3.2 Kỹ thuật bảng phương án (Decide Table) Giả thiết hành động cần thực bước phụ thuộc vào kết kiểm tra n điều kiện C1, C2, , Cn Điều kiện Ci (i = † n) điều kiện lơ gic với kết kiểm tra Đúng (True) Sai (False) điều kiện với kết kiểm tra nằm tập có nhiều giá trị Ví dụ, việc so sánh hai số p q cho kết Gọi vi kết kiểm tra điều kiện Ci Việc kiểm tra tất điều kiện từ C1 đến Cn cho ta giá trị V = (v1, v2, , vn) Bộ giá trị gọi vec tơ điều kiện Với V cần phải thực hành động A Véc tơ (V, A) gọi quy tắc hành động Bảng phương án (Decide Table) bảng liệt kê quy tắc hành động Lý thuyết bảng phương án nghiên cứu vấn đề:  Phân loại bảng phương án,  Cách xây dựng biểu diễn bảng phương án,  Tính chất bảng phương án,  Sử dụng bảng phương án cơng cụ phân tích thiết kế giải thuật,  Sử dụng bảng phương án cơng cụ tự động hóa lập trình Bảng phương án đóng vai trị quan trọng lập trình lơ gic, hệ thống trí tuệ nhân tạo, hệ hỗ trợ định, Bằng bảng phương án ta dễ dàng kiểm định giải thuật sách báo, tài liệu giới thiệu trò chơi, chỉnh lý sai sót liên quan tới việc xử lý trường hợp tinh tế trò chơi Các sai sót khơng phải q hiếm! Ở không sâu vào lý thuyết bảng phương án mà xem xét cách triển khai để giải số toán lĩnh vực trị chơi Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 55 Trong bảng phương án (cũng tuyệt đại phận bảng phương án cho trò chơi) bảng chứa thơng tin cho phép người chơi tìm lựa chọn phù hợp với chiến lược điều khiển theo đuổi Ví dụ: Bảng phƣơng án cho tốn Lật xúc xắc Để điều khiển trị chơi cần có bảng phương án B kích thước 6×Smax i =  6, j =  Smax Bảng phương án cho toán xây dựng sở phân tích diễn biến trị chơi từ cuối đầu, tức với j thay đổi từ Smax Ở toán xét ta cần phần bảng phương án Trên phương diện giải thuật, việc xây dựng phần hay toàn bảng phương án Bij để thắng cần đưa xúc xắc trạng thái mặt i S j Bij thua đưa xúc xắc trạng thái mặt i S j Bảng phương án xây dựng theo nguyên tắc truy hồi Giả thiết B ij xác định với i =  6, j = Smax  k+1 Bik xác định sau: Để áp dụng công thức truy hồi ta cần có cột cuối bảng Các cột dễ dàng xây dựng dựa nhận xét: j = Smax người bước tiếp theo, dù lật mặt xúc xắc lên thua làm cho tổng S > Smax, vậy, Bi,Smax = 0, i =  Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 56 Các cột tính theo sơ đồ chung khởi tạo Bij =1, i =  6, j = Smax+1  Smax+6 Nhận xét:  Để xác định giá trị cột ta cần dựa giá trị cột trước  Nếu xây dựng bảng phương án với 10 cột, ta dùng để điều khiển trò chơi với Smax thỏa mãn ≤ Smax ≤ 10 mà không cần xây dựng lại bảng phương án (bằng cách sử dụng Smax cột cuối bảng)  Với toán xét, ta cần B với cột từ Smax đến S Chương trình PASCAL Program DICE; Const tfi='DICE.INP'; tfo='DICE.OUT'; Var b:array[1 6,-5 1000] of byte; i,j,v,s,smax,n,m:longint; fi,fo:text; Procedure xd_b(p,q:longint); var t,i,j:longint; Begin t:=0; for i:=1 to t:= t + b[i,q-p]; t:=t-b[p,q-p]-b[7-p,q-p]; if t >0 then b[p,q]:=0 else b[p,q]:=1 End; Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 57 BEGIN assign(fi,tfi); reset(fi); readln(fi,v,s,smax); close(fi); assign(fo, tfo); rewrite(fo); for j := -5 to for i := to b[i,j]:=1; n:=smax-s+1; for j:=1 to n for i := to xd_b(i,j); { Dua bang phuong an } for i:=1 to begin for j:=1 to n write(fo,b[i,j],' '); writeln(fo); end; writeln(fo); { Het dua bang phuong an} m:=0; b[v,n]:=0; b[7-v,n]:=0; for i:= to m:= m+b[i,n]; write(fo,m); if m > then for i:= to if b[i,n]>0 then write(fo,' ',i); close(fo) Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 58 END Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 59 Bảng 3.1 Bảng phương án cho toán lật xúc xắc -5 -4 -3 -2 -1 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 Kỹ thuật bảng phương án cho phép ta tránh việc phải tính tường minh giá trị hàm Sprague - Grundy trị chơi khơng bị phân rã thành trò chơi độc lập Với tốn bị phân rã thành trị chơi độc lập (không thiết phải theo quy tắc chơi toán ban đầu) bảng giá trị số Grundy thành phần bảng phương án với ba chức năng:  Cho biết người nước thắng hay khơng  Cung cấp thơng tin để tìm chiến lược điều khiển (tìm nước đi)  Làm sở để tính số Grundy cho trị chơi với tham số có giá trị lớn Ở loại trị chơi việc lưu trữ điều khiển không tối ưu miền xác định tập trạng thái lớn Với trạng thái trò chơi điều khiển tìm đường giải thuật, dựa vào bảng số Grundy có [2] Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 60 KẾT LUẬN CHƢƠNG Các tốn trị chơi đa dạng thường khó Lý thuyết đồ chơi áp dụng với số mơ hình đồ thị, ma trận Kỹ thuật lập trình giải tốn trị chơi: - Tính trực tiếp hàm Sprague - Grundy - Kỹ thuật lập bảng phương án Về nguyên tắc với tốn trị chơi đồ thị ta tính số Grundy dựa vào để điều khiển trị chơi Tuy nhiên việc tính số Grundy nhiều trường hợp khó xác định Tiếp cận theo hướng quy hoạch động kỹ thuật lập bảng phương án cho phép ta tránh việc phải tính tường minh giá trị hàm Sprague – Grundy Có nhiều cách tổ chức bảng phương án Thơng thường có loại chính: - Bảng phương án phục vụ cho điều khiển tiến trình, - Bảng phương án phục vụ triển khai cài đặt chương trình, phục vụ nhận dạng Việc xây dựng tường minh bảng phương án cho phép: - Dễ dàng tìm nước cần thiết tiếp theo, đặc biệt người chơi thứ hai phạm sai lầm - Cho phép điều khiển trò chơi theo số chiến lược: + Chiến thắng thời gian nhanh + Kéo dài thời gian đến mức tối đa + Làm cho trị chơi diễn đa dạng: chơi lại người thứ hai lặp lại nước cũ, chương trình cho nước khác, đảm bảo xác xuất nước trùng hai ván gần Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 61 KẾT LUẬN Luận văn thu số kết sau: Luận văn hệ thống hóa vấn đề xung quanh phương pháp quy hoạch động Đây phương pháp hay sử dụng để giải toán thực tế kỳ thi học sinh giỏi Luận văn đưa số kỹ thuật dùng để giải toán quy hoạch động Những kỹ thuật rút từ kinh nghiệm giải toán dựa theo phương pháp quy hoạch động Nhìn chung để biết tốn giải phương pháp quy hoạch động khó Những kỹ thuật giải toán quy hoạch động đưa luận văn định hướng giúp ta lập hệ thức quy hoạch động cách nhanh chóng tổ chức chương trình cho đỡ tốn nhớ Luận văn nêu lên số tốn trị chơi lý thuyết trị chơi Việc lập trình giải tốn trò chơi vấn đề phức tạp Luận văn đưa hai kỹ thuật lập trình: tính trực tiếp hàm Sprague - Grundy kỹ thuật bảng phương án Như vấn đề mà luận văn nêu phù hợp với yêu cầu thực tiễn, đáp ứng nhu cầu đào tạo bồi dưỡng học sinh giỏi môn tin giai đoạn nay, nhiệm vụ đặt hoàn thành Luận văn đạt mục đích đề Tuy nhiên tập đưa chưa nhiều phong phú, để giải nhiều toán quy hoạch động tốn trị chơi thực tiễn cần phải có q trình nghiên cứu sâu Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 62 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Hồ Sĩ Đàm (chủ biên), Đỗ Đức Đơng, Lê Minh Hồng, Nguyễn Thanh Hùng (2009), Tài liệu giáo khoa chuyên tin, NXB Giáo dục, tr 99-109 [2] Hồ Sĩ Đàm (chủ biên), Nguyễn Thanh Tùng, Lê Minh Hoàng, Nguyễn Thanh Hùng, Đỗ Đức Đông (2011), Tài liệu tập huấn phát triển chuyên môn giáo viên Trường THPT Chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo, tr 28-42 [3] Nguyễn Hữu Điển (2005), Một số vấn đề thuật toán, NXB Giáo dục, tr 133-173 [4] Vũ Mạnh Hà (2011), “Giới thiệu phương pháp quy hoạch động”, Tài liệu hội thảo phát triển chuyên môn giáo viên tin học Trường THPT chuyên (tài liệu lưu hành nội bộ), Bộ giáo dục đào tạo, tr 92-107 [5] Lê Minh Hồng, Giải thuật lập trình, Sách ebook, tr 143-172 [6] Trần Đỗ Hùng (chủ biên), Đỗ Đức Đông, Lê Sĩ Quang (2007), Chuyên đề bồi dưỡng học sinh giỏi tin học Trung học phổ thông tập quy hoạch động, NXB Giáo dục [7] Nguyễn Xuân Huy (2011), Sáng tạo thuật tốn lập trình, Vol 1-3, NXB Thông tin truyền thông, tr 246-275, 127-169, 292, 297 [8] Nguyễn Xuân My (chủ biên), Hồ Sĩ Đàm, Trần Đỗ Hùng, Lê Sĩ Quang (2002), Một số vấn đề chọn lọc môn tin học, NXB Giáo dục, tr 109-164 [9] Đinh Mạnh Tường (2001), Cấu trúc liệu thuật toán, NXB Khoa học kỹ thuật Hà Nội, tr 232-240 [10] Một số thông tin Website http://tailieu.vn, http://Wikipedia.org [11] THNT (2005), Bài 225 - Khối lập phương, Báo tin học nhà trường năm Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 63 Tiếng Anh [12] Thomas H Cormen, Charles E Leiserson, Ronald L Rivest (2009), Introduction to Algorithms, pp 359-397 [13] David Harel with Yishai Feldman (2004), Algorithmics the spirit of computing, pp 89-98 [14] Donald E Knuth, The Art Of Computer Programming, Volumes 1-3, Addison Pub Co [15] Robert Sedgewick (1988), Algorithms, Second Edition, Addison Pub Co., pp 483-497 [16] Steven S Skiena, Miguel Revilla (2003), Programming Challenges, Springer - Verlag New York, pp 245-267 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Ngày đăng: 18/10/2023, 15:27