BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI QUAY LUI VÀ SUDOKU

27 38 0
BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Đ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

lOMoARcPSD|9242611 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO ĐỀ TÀI: QUAY LUI VÀ SUDOKU Sinh viên thực : NGUYỄN THẾ SINH GIÁP ANH TÀI NGUYỄN HẢI NAM Giảng viên hướng dẫn : VŨ VĂN ĐỊNH Ngành : CÔNG NGHỆ THÔNG TIN Chuyên ngành : Lớp : Khóa : 2018 - 2023 Hà Nội, tháng 07 năm 2020 PHIẾU CHẤM ĐIỂM Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 STT Họ tên sinh viên Nguyễn Thế Sinh Giáp Anh Tài Nguyễn Hải Nam Họ tên giảng viên Nội dung thực Chữ ký Điểm Chữ ký Ghi Giảng viên chấm 1: Giảng viên chấm 2: MỤC LỤC PHIẾU CHẤM ĐIỂM MỤC LỤC DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU NỘI DUNG THỰC HIỆN Chương Giới thiệu toán thực Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 1.1 Giới thiệu toán sudoku .1 1.2 Giới thiệu kỹ thuật quay lui 1.2.1 Giải thích 1.2.2 Cài đặt 1.2.3 Heuristic 1.2.4 Tư tưởng thuật toán 1.2.5 Ví dụ 1.2.6 Phương pháp 1.2.7 Mô tả 1.3 Kết luận .7 1.3.1 Về toán sudoku 1.3.2 Về kỹ thuật quay lui Chương Phân tích tốn 2.1 Phân tích tốn 2.2 Giải thuật cho toán 2.2.1 Giải thuật cho toán .9 2.2.2 Tổ chức chương trình .9 2.2.3 Các hàm giải 10 2.3 Cấu trúc liệu sử dụng 10 Chương Cài đặt, đánh giá thử nghiệm 12 3.1 Giới thiệu chương trình 12 3.2 Các thành phần chương trình .13 3.2.1 Thành phần hiển thị nhập bảng sudoku 13 3.2.2 Bảng đếm số lượng chưa nhập 14 3.2.3 Nút giải 15 3.3 Một số hình ảnh chạy chương trình 15 3.4 Kết luận .18 KẾT LUẬN 19 DANH MỤC TÀI LIỆU THAM KHẢO 20 DANH MỤC HÌNH ẢNH Hình 1.1: Ví dụ sudoku .2 Hình 1.2: Ví dụ quay lui .6 Hình 2.1: Input Sudoku Hình 2.2: Output Sudoku Hình 3.1: Giao diện .12 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.2: Giao diện nhập 13 Hình 3.3: Bảng đếm số lại .14 Hình 3.4: Bảng đếm số cịn lại hoạt động 14 Hình 3.5: Nút giải 15 Hình 3.6: Giao diện nhập .15 Hình 3.7: Giao diện giải thành công .16 Hình 3.8: Giao diện thơng báo bảng giải 16 Hình 3.9: Giao diện thơng báo lỗi 17 Hình 3.10: Giao diện bảng giải thành cơng 17 Hình 3.11: Giao diện khơng thể giải .18 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 LỜI MỞ ĐẦU Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Môn học Cấu trúc liệu giải thuật nâng cao cung cấp kiến thức chiến lược, kỹ thuật, cấu trúc liệu phức tạp Với kiến thức đạt trình học tập, nhóm chúng em vận dụng vào đề tài giải toán đố sudoku với kỹ thuật quay lui Đề tài Quay lui sudoku sử dụng ba ngôn ngữ html css javascript để biểu diễn kỹ thuật quay lui với cơng cụ lập trình Visual Studio Code 2020, với trình quản lý phiên Git, chạy node package live-server offline Chương trình deploy lên GitHub chạy online với tên miền: Nhóm chúng em xin cảm ơn thầy Vũ Văn Định tận tình truyền đạt kiến thức trình học tập trình làm chuyên đề Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 NỘI DUNG THỰC HIỆN Chương Giới thiệu toán thực 1.1 Giới thiệu tốn sudoku Trị chơi kiến trúc sư Howard Garns New York thiết kế giới thiệu lần vào năm 1979 tạp chí Dell (Mỹ) với tên gọi "Number Place" Tháng 4/1984, Number Place lần giới thiệu Nhật báo Monthly Nikolist với tên gọi "Suuji wa dokusinh ni kagiru", dịch sang tiếng Anh có nghĩa "những số phải độc nhất" "những số tìm thấy lần" "rút gọn" thành sudoku (su = number, doku = single) Nhưng trò chơi trở nên phổ biến người Anh nhập Báo Times số ngày 12/11/2004 giới thiệu với tên gọi “sudoku” dựa kết phát triển chương trình trị chơi máy vi tính quan tòa hưu người New Zealand sống Hongkong tên Wayne Gould Sau đó, sudoku xuất hầu hết tờ báo hàng đầu Anh "đưa" đến Australia nhờ tập đồn báo chí Telegarph Từ ngày 2/8/2005, chương trình Radio Times đài BBC (Anh) có chuyên đề tuần sudoku mang tên Super sudoku sudoku xuất tivi lần vào ngày 1/7/2005 chương trình sudoku Live kênh Sky One Đây thi gồm đội (mỗi đội người với nhân vật tiếng) tranh tài với nhau, tạo nên bảng sudoku lớn giới (rộng 84 m với 1905 giải pháp đúng), câu đố khắc sườn đồi Chipping Sodbury nước Anh Hiện nay, sudoku có mặt báo, tạp chí hàng đầu trở thành trị chơi gây sốt 40 quốc gia vùng lãnh thổ giới, có Việt Nam sudoku xuất Việt Nam sớm tạp chí Khám Phá (Trực thuộc Sở Khoa học Công nghệ Thành phố Hồ Chí Minh), sau đến Thanh Niên, Hoa Học Trị, xem hình thức giải trí đầy trí tuệ giới trẻ Đặc biệt, mục Vua trị chơi báo Hoa Học Trị với "món chủ lực" sudoku thu hút đông học sinh tham gia (theo kết công bố báo) Quy luật trò chơi tương đối đơn giản Cho bàn hình vng chia thành lưới 81 nhỏ gồm hàng cột, 81 ô nhỏ lại chia thành vùng, vùng có Đề sudoku bàn hình vng thế, số người ta điền sẵn số giá trị Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Cách chơi sau: Phải điền số từ đến vào hàng dọc, ngang không trùng lặp Ở hàng dọc, hàng ngang ô vuông 3*3 phân cách vạch đen đậm số sử dụng lần khơng lặp lại Ví dụ sau: Hình 1.1: Ví dụ sudoku 1.2 Giới thiệu kỹ thuật quay lui Quay lui (tiếng Anh: backtracking) chiến lược tìm kiếm lời giải cho tốn thỏa mãn ràng buộc Người đề thuật ngữ (backtrack) nhà toán học người Mỹ D H Lehmer vào năm 1950 1.2.1 Giải thích Các toán thỏa mãn ràng buộc toán có lời giải đầy đủ, thứ tự phần tử khơng quan trọng Các tốn bao gồm tập biến mà biến cần gán giá trị tùy theo ràng buộc cụ thể toán Việc quay lui để thử tất tổ hợp để tìm lời giải Thế mạnh phương pháp nhiều cài đặt tránh việc phải thử nhiều tổ hợp chưa hồn chỉnh, nhờ giảm thời gian chạy Phương pháp quay lui có quan hệ chặt chẽ với tìm kiếm tổ hợp Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 1.2.2 Cài đặt Về chất, tư tưởng phương pháp thử khả tìm thấy lời giải Đó q trình tìm kiếm theo độ sâu tập hợp lời giải Trong trình tìm kiếm, ta gặp hướng lựa chọn không thỏa mãn, ta quay lui điểm lựa chọn nơi có hướng khác thử hướng lựa chọn Khi thử hết lựa chọn xuất phát từ điểm lựa chọn đó, ta quay lại điểm lựa chọn trước thử hướng lựa chọn Q trình tìm kiếm thất bại khơng cịn điểm lựa chọn Quy trình thường cài đặt hàm đệ quy mà thể hàm lấy thêm biến gán tất giá trị cho biến đó, với lần gán trị lại gọi chuỗi đệ quy để thử biến Chiến lược quay lui tương tự với tìm kiếm theo độ sâu sử dụng khơng gian nhớ hơn, lưu giữ trạng thái lời giải cập nhật 1.2.3 Heuristic Để tăng tốc trình tìm kiếm, giá trị chọn, trước thực lời gọi đệ quy, thuật toán thường xóa bỏ giá trị khỏi miền xác định biến có mâu thuẫn chưa gán (kiểm tra tiến forward checking) kiểm tra tất số để tìm giá trị khác bị loại trừ giá trị vừa gán (lan truyền ràng buộc - constraint propagation) Người ta thường sử dụng số phương pháp heuristic để tăng tốc cho trình quay lui Do biến xử lý theo thứ tự bất kỳ, việc thử biến bị ràng buộc chặt (nghĩa biến có lựa chọn giá trị nhất) thường có hiệu tỉa tìm kiếm từ sớm (cực đại hóa ảnh hưởng lựa chọn sớm hành) Các cài đặt quay lui phức tạp thường sử dụng hàm biên, hàm kiểm tra xem từ lời giản chưa đầy đủ thu lời giải hay không, nghĩa hướng liệu có ích hay khơng Nhờ đó, kiểm tra biên phát lời giải dở dang chắn thất bại nâng cao hiệu tìm kiếm Do hàm hay chạy, bước, phí tính tốn biên cần tối hiểu, khơng, hiệu tồn cục thuật tốn khơng cải tiến Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 end; end; end; (Thuật toán quay lui bắt đầu lời gọi Try(1);) Ta trình bày q trình tìm kiếm lời giải thuật tốn quay lui sau: Hình 1.2: Ví dụ quay lui 1.3 Kết luận 1.3.1 Về toán sudoku Đây tốn đơn giản lại địi hỏi nhiều trí tuệ Thích hợp để rèn luyện khả tư Và vơ thích hợp để ứng dụng quay lui để giải 1.3.2 Về kỹ thuật quay lui Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Ưu điểm: Việc quay lui thử tất tổ hợp để tìm lời giải Thế mạnh phương pháp nhiều cài đặt tránh việc phải thử nhiều trường hợp chưa hồn chỉnh, nhờ giảm thời gian chạy Nhược điểm: Trong trường hợp xấu độ phức tạp quay lui cấp số mũ Vì mắc phải nhược điểm sau: - Rơi vào tình trạng "thrashing": qúa trình tìm kiếm gặp phải bế tắc với nguyên nhân - Thực công việc dư thừa: Mỗi lần quay lui, cần phải đánh giá lại lời giải đơi lúc điều khơng cần thiết - Không sớm phát khả bị bế tắc tương lai Quay lui chuẩn, khơng có chế nhìn tương lai để nhận biết đc nhánh tìm kiếm vào bế tắc Chương Phân tích tốn 2.1 Phân tích tốn  Input: Một bảng số người dùng nhập giao diện (GUI) Ví dụ người dùng nhập sau: Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 2.1: Input Sudoku  Output: Kết tốn Có thể có đáp án khơng có đáp án Sẽ hiển thị sau: Hình 2.2: Output Sudoku 2.2 Giải thuật cho toán 2.2.1 Giải thuật cho toán Bước Lấy tất số phù hợp với ô trống Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Bước Tạo tất hàng phù hợp hàng tùy thuộc vào danh sách số phù hợp Bước Chọn hàng từ danh sách hàng đặt vào hàng Bước Đi đến hàng tìm tất số phù hợp với Bước Tạo tất hàng phù hợp hàng này, sau chuyển sang bước đến hàng cuối khơng cịn hàng cịn lại Bước Nếu hàng khơng cịn khả chuyển sang hàng trước thử khả từ danh sách hàng khả Bước Nếu hàng cuối đạt hàng thỏa mãn tìm thấy tốn giải 2.2.2 Tổ chức chương trình Chương trình tổ chức theo dạng hàm thủ tục với hàm ứng với nhiệm vụ khác Chương trình viết theo hướng đơn giản với 1giao diện để người dùng tương tác Dự kiến giao diện gồm bảng sudoku chính, bảng đếm số lượng nút chạy giải 2.2.3 Các hàm giải  function getColumns(grid) {}: trả trả mảng cột bảng sudoku  function getBlocks(grid) {}: trả giá trị khối 3x3 bảng sudoku  function replaceCharAt(string, index, char) {}: thực thay giá trị ô bảng  function generatePossibleNumber(rows, columns, blocks) {}: Sinh tất số thỏa yêu cầu để điền vào bảng sudoku Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611  function solveGrid(possibleNumber, rows, startFromZero) {}: Gọi hàm nextStep() để giải toán, trả kết bảng có, khơng trả khơng giải  function nextStep(level, possibleNumber, rows, solution, startFromZero) {}: hàm chạy đệ quy, kiểm tra xem giá trị hàng có hay chưa kiểm tra tính hợp lệ giá trị Trả có đáp án, -1 khơng có  function generatePossibleRows(possibleNumber) {}: Sinh hàng số thỏa yêu cầu để điền vào bảng sudoku  function ViewPuzzle(grid) {}: Đọc đầu vào người dùng  function readInput() {}: Đọc đầu vào người dùng  function checkValue(value, row, column, block, defaultValue, currectValue) {}: kiểm tra giá trị người dùng nhập  function updateRemainingTable(){}:Hỗ trợ cập nhật giá trị bảng remaining  function solveSudoku(changeUI) {}: thay đổi giao diện kết  Function solveButtonClick() {} Gọi tất hàm người dùng bấm, thực thi việc giải toán 2.3 Cấu trúc liệu sử dụng Cấu trúc liệu toán liệu kiểu mảng người dùng điền liệu vào bảng sudoku Một mảng chứa liệu bảng sudoku mà người dùng nhập vào: let puzzle = []; Một mảng chứa kết đầu bảng sudoku giải: let solution = []; Một mảng dùng để đếm số lượng ứng với số chưa người dùng nhập: let remaining = [9, 9, 9, 9, 9, 9, 9, 9, 9]; Ví dụ puzzle = [[1,2,3,4,5,6,7,8,9]] nghĩa người dùng nhập vào dòng bảng sudoku giá trị ô thứ nhất, ô thứ 2,… ô thứ solution=[ [1,2,3,4,5,6,7,8,9], 10 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 [4,5,6,7,8,9,1,2,3], [7,8,9,1,2,3,4,5,6], [2,1,4,3,6,5,8,9,7], [3,6,5,8,9,7,2,1,4], [8,9,7,2,1,4,3,6,5], [5,3,1,6,4,2,9,7,8], [6,4,2,9,7,8,5,3,1], [9,7,8,5,3,1,6,4,2] ] đáp án cho toán người dùng nhập Tương ứng hàng đầu tiên, giá trị điền vào ô thuộc hàng bảng, giá trị điền vào ô thứ hai hàng bảng, tiếp tục tới số hàng cuối điền vào ô cuối hàng cuối remaining=[8,9,8,9,9,9,0,9,7] tức người dùng điền vào bảng giá trị bảng có giá trị 1, giá 3, giá trị 9, giá trị Chương Cài đặt, đánh giá thử nghiệm 3.1 Giới thiệu chương trình Chương trình có giao diện Người dùng nhập bảng sudoku thơng qua bảng hình Bên trái có bảng đếm số lượng số chưa nhập Trên nút giải bảng sudoku Chương trình nhắm tới mục tiêu giải tốn nhanh xác 11 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.1: Giao diện 3.2 Các thành phần chương trình 3.2.1 Thành phần hiển thị nhập bảng sudoku 12 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.2: Giao diện nhập Đây hình hiển thị đáp án cho sudoku Các chức bao gồm nút di chuyển nút tab ta sử dụng chuột hỗ trợ cho trình nhập liệu 13 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 3.2.2 Bảng đếm số lượng chưa nhập Hình 3.3: Bảng đếm số lại Bảng giúp đếm số lượng số chưa nhập Ví dụ người dùng nhập số lần số lượng cịn 8: Hình 3.4: Bảng đếm số cịn lại hoạt động 3.2.3 Nút giải 14 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.5: Nút giải Khi người dùng bấm nút chạy chương trình giải Sau khoảng thời gian ngắn ( tối đa giây) thông báo giải đáp án 3.3 Một số hình ảnh chạy chương trình Hình 3.6: Giao diện nhập 15 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.7: Giao diện giải thành cơng Hình 3.8: Giao diện thơng báo bảng giải 16 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.9: Giao diện thơng báo lỗi Hình 3.10: Giao diện bảng giải thành công 17 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Hình 3.11: Giao diện khơng thể giải 3.4 Kết luận Chương trình đáp ứng yêu cầu giải toán 18 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 KẾT LUẬN Chương trình tạo có ưu nhược điểm sau: Ưu điểm - Cài đặt kỹ thuật quay lui - Chương trình giải tốn, thỏa mãn u cầu đặt - Giao diện đẹp, thân thiện dễ dùng Nhược điểm - Thuật toán cài đặt chưa tối ưu - Giải sudoku cịn hạn chế, giải dạng chuẩn 9x9 - Phần nhập liệu cịn bất tiện - Cịn có vấn đề với dạng sudoku khơng thể giải, dễ làm chương trình bị lỗi Hướng phát triển Sudoku ngày có nhiều dạng nên chương trình cần phát triển theo hướng giải nhiều dạng sudoku khác nhau, áp dụng thêm nhiều thuật toán nhằm giải tối ưu hơn, đồng thời nâng cao số đáp án giải 19 Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 DANH MỤC TÀI LIỆU THAM KHẢO Tiếng Việt [1].Giải thuật lập trình, tác giả Lê Minh Hoàng Websites www.wikipedia.org www.codepen.io 20 Downloaded by tran quang (quangsuphamhoak35@gmail.com) ... end; end; (Thuật toán quay lui bắt đầu lời gọi Try(1);) Ta trình bày q trình tìm kiếm lời giải thuật toán quay lui sau: Hình 1.2: Ví dụ quay lui 1.3 Kết luận 1.3.1 Về toán sudoku Đây tốn đơn giản... Và vơ thích hợp để ứng dụng quay lui để giải 1.3.2 Về kỹ thuật quay lui Downloaded by tran quang (quangsuphamhoak35@gmail.com) lOMoARcPSD|9242611 Ưu điểm: Việc quay lui thử tất tổ hợp để tìm lời... cách vạch đen đậm số sử dụng lần không lặp lại Ví dụ sau: Hình 1.1: Ví dụ sudoku 1.2 Giới thiệu kỹ thuật quay lui Quay lui (tiếng Anh: backtracking) chiến lược tìm kiếm lời giải cho toán thỏa

Ngày đăng: 21/12/2021, 07:27

Hình ảnh liên quan

DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU
DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU Xem tại trang 2 của tài liệu.
Hình 1.1: Ví dụ sudoku - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 1.1.

Ví dụ sudoku Xem tại trang 9 của tài liệu.
Hình 1.2: Ví dụ cây quay lui - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 1.2.

Ví dụ cây quay lui Xem tại trang 13 của tài liệu.
Hình 2.1: Input Sudoku - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 2.1.

Input Sudoku Xem tại trang 15 của tài liệu.
Hình 2.2: Output Sudoku - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 2.2.

Output Sudoku Xem tại trang 15 của tài liệu.
Hình 3.1: Giao diện chính - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.1.

Giao diện chính Xem tại trang 19 của tài liệu.
Hình 3.2: Giao diện nhập - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.2.

Giao diện nhập Xem tại trang 20 của tài liệu.
3.2.2 Bảng đếm số lượng chưa nhập - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

3.2.2.

Bảng đếm số lượng chưa nhập Xem tại trang 21 của tài liệu.
Hình 3.3: Bảng đếm số còn lại - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.3.

Bảng đếm số còn lại Xem tại trang 21 của tài liệu.
Hình 3.5: Nút giải - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.5.

Nút giải Xem tại trang 22 của tài liệu.
Hình 3.7: Giao diện giải thành công - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.7.

Giao diện giải thành công Xem tại trang 23 của tài liệu.
Hình 3.8: Giao diện thông báo bảng đã giải - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.8.

Giao diện thông báo bảng đã giải Xem tại trang 23 của tài liệu.
Hình 3.10: Giao diện bảng khi giải thành công - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.10.

Giao diện bảng khi giải thành công Xem tại trang 24 của tài liệu.
Hình 3.9: Giao diện thông báo lỗi - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.9.

Giao diện thông báo lỗi Xem tại trang 24 của tài liệu.
Hình 3.11: Giao diện không thể giải - BÁO CÁO CHUYÊN đề HỌC PHẦN CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬT NÂNG CAO đề TÀI  QUAY LUI VÀ SUDOKU

Hình 3.11.

Giao diện không thể giải Xem tại trang 25 của tài liệu.

Mục lục

    DANH MỤC HÌNH ẢNH

    NỘI DUNG THỰC HIỆN

    Chương 1. Giới thiệu bài toán thực hiện

    1.1 Giới thiệu về bài toán sudoku

    1.2 Giới thiệu về kỹ thuật quay lui

    1.3.1 Về bài toán sudoku

    1.3.2 Về kỹ thuật quay lui

    Chương 2. Phân tích bài toán

    2.1. Phân tích bài toán

    2.2 Giải thuật cho bài toán

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

  • Đang cập nhật ...

Tài liệu liên quan