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

MÔ PHỎNG một số THUẬT TOÁN TRÊN đồ THỊ

84 3 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 84
Dung lượng 2,89 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ CHINH MƠ PHỎNG MỘT SỐ THUẬT TỐN TRÊN ĐỒ THỊ LUẬN VĂN THẠC SĨ Hà Nội - 2011 Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ CHINH MÔ PHỎNG MỘT SỐ THUẬT TỐN TRÊN ĐỒ THỊ Ngành: Cơng nghệ thơng tin Chun ngành: Hệ thống thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ CẨM HÀ Hà Nội - 2011 Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CAM ĐOAN Tơi xin cam đoan, kết luận văn hồn tồn kết tự thân tơi tìm hiểu, nghiên cứu hướng dẫn TS Hồ Cẩm Hà Các tài liệu tham khảo trích dẫn thích đầy đủ Học viên Nguyễn Thị Chinh Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Trước hết, muốn gửi lời cảm đến Thầy, Cô khoa Công nghệ thông tin- Trường Đại học Công nghệ - Đại học Quốc gia Hà nội truyền đạt kiến thức quý báu cho suốt thời gian học tập trường Đặc biệt, xin gửi lời cảm ơn sâu sắc tới cô giáo hướng dẫn TS Hồ Cẩm Hà, người tận tình bảo hướng dẫn mặt chuyên mơn cho tơi suốt q trình thực luận văn Cũng qua đây, xin gửi lời cảm ơn đến Ban Giám hiệu trường THPT Chuyên Đại học Sư phạm Hà Nội, nơi công tác tạo điều kiện thuận lợi cho thời gian học tập suốt trình thực luận văn tốt nghiệp Cuối cùng, xin cảm ơn gia đình, bạn bè, đồng nghiệp ln ủng hộ, động viên nhiều để yên tâm nghiên cứu hoàn thành luận văn Trong suốt trình làm luận văn, thân tơi cố gắng tập trung tìm hiểu, nghiên cứu tham khảo thêm nhiều tài liệu liên quan Tuy nhiên, thời gian hạn chế thân cịn chưa có nhiều kinh nghiệm nghiên cứu khoa học, chắn luận văn cịn nhiều thiếu sót Tơi mong nhận bảo Thầy Cô giáo góp ý bạn bè, đồng nghiệp để luận văn hoàn thiện Hà Nội, ngày 12 tháng 06 năm 2011 Nguyễn Thị Chinh Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI CẢM ƠN LỜI NÓI ĐẦU 10 Chương MỘT SỐ KIẾN THỨC CƠ BẢN VỀ THUẬT TOÁN 12 Khái niệm toán Tin học 12 Khái niệm thuật toán 12 Các tính chất thuật tốn 13 Độ phức tạp xác định độ phức tạp thuật toán 14 Chi phí thực thuật toán 18 Ba tốn mơ hình đồ thị đưa vào giảng dạy trường Trung học Phổ thông Chuyên 18 6.1 Một số khái niệm đồ thị 18 6.1.1 Khái niệm đồ thị (Graph) 18 6.1.2 Các khái niệm 19 6.2 Bài tốn tìm kiếm đồ thị 21 6.2.1 Phát biểu toán 21 6.2.2 Giới thiệu thuật toán tìm kiếm DFS BFS 22 6.2.3 Độ phức tạp tính tốn thuật tốn DFS BFS 24 6.3 Bài toán tìm đường ngắn đồ thị có trọng số 24 6.3.1 Phát biểu toán 24 6.3.2 Giới thiệu thuật toán Ford - Bellman 25 6.2.3 Giới thiệu thuật toán thuật toán Dijkstra 26 6.3.4 Độ phức tạp 28 6.4 Các thuật tốn tìm kiếm khung 28 6.4.1 Bài toán khung 28 6.4.2 Giới thiệu thuật toán Prim 29 6.4.3 Giới thiệu thuật toán Kruskal 30 6.4.5 Độ phức tạp 31 Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 6.5 Bài tốn tìm chu trình Hamilton qua tất đỉnh đồ thị 32 6.5.1 Phát biểu toán 32 6.5.2 Giới thiệu thuật tốn tìm chu trình Hamilton: 33 Chương MÔ PHỎNG THUẬT TOÁN 34 Khái niệm chức mô 34 Lịch sử mơ thuật tốn 35 Hiệu mô thuật toán giảng dạy 37 Một số yêu cầu mô thuật toán 41 4.1 Mơ theo thuật tốn 41 4.2 Cho phép thực theo bước 41 4.3 Mơ thuật tốn phải có tính động 41 4.4 Có thể thực thi với liệu đầu vào 43 4.5 Có phân cấp người học 43 Quy trình mơ thuật tốn 43 5.1 Nghiên cứu phân tích giải thuật 43 5.2 Mô liệu vào kết đầu 44 5.3 Chia thuật tốn thành nhiều bước nhỏ mơ theo bước 45 5.4 Tổng hợp mô theo bước 47 5.5 Sơ đồ cấu trúc chung hệ thống mô 47 Đề xuất lựa chọn cơng cụ để phát triển chương trình mơ thuật tốn 48 6.1 Một số hệ thống mơ thuật tốn chung 49 6.2 Sử dụng cơng cụ mơ thuật tốn riêng biệt 52 6.3 Xây dựng hệ thống từ đầu 53 Chương PHÂN TÍCH THIẾT KẾ HỆ THỐNG MƠ PHỎNG MỘT SỐ THUẬT TỐN TRÊN ĐỒ THỊ 54 Mục đích 54 Những yêu cầu thực tế 54 Đề xuất cho hệ thống 55 Thiết kế hệ thống mô số thuật toán đồ thị 56 Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4.1 Lựa chọn cơng cụ lập trình 57 4.2 Chức mơ thuật tốn cài đặt 59 4.2.1 Mơ thuật tốn tìm kiếm 59 4.2.2 Mơ thuật tốn Dijkstra 61 4.2.3 Mơ thuật tốn Ford – Bellman 63 4.2.4 Mơ thuật tốn Prim 63 4.2.5 Mơ thuật tốn Kruskal 65 4.2.6 Thuật toán tìm chu trình Hamilton 66 Giới thiệu chương trình 66 5.1 Tổng quan hệ thống 66 5.1.1 Các đối tượng xây dựng cấu trúc đồ thị 67 5.1.2 Cơng cụ vẽ hình ảnh để mơ 70 5.1.3.Chức chi tiết cơng cụ hỗ trợ cho q trình mơ 70 5.2 Giới thiệu công cụ hỗ trợ mô người dùng cài đặt 71 Chương KẾT LUẬN 80 Những kết đạt 80 Hướng phát triển 81 DANH MỤC TÀI LIỆU THAM KHẢO 82 PHỤ LỤC 84 Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI NÓI ĐẦU Cách gần ba thập kỉ (khoảng năm 80 kỉ XX), nhiều nước giới mô thuật toán sử dụng việc giảng dạy mơn Khoa học máy tính cơng cụ hữu hiệu để mơ tả thuật tốn cách trực quan, khoa học Khơng cịn cho người học biết chi tiết bước hoạt động thuật toán với cấu trúc liệu kèm thông qua việc mô tả đồ họa Những năm gần đây, Việt Nam môn Tin học đưa vào chương trình học sinh trung học phổ thơng mơn học thức Tuy nhiên thực tế, số trường chuyên nước tuyển sinh học sinh chuyên Tin từ cuối năm 80 kỉ XX Những học sinh cần nắm kiến thức Tin học như: cấu trúc liệu trừu tượng: stack, queue, cây, nhị phân, nhị phân tìm kiếm, chiến lược thiết kế thuật toán: tham lam, quay lui, quy hoạch động… Trong đó, lý thuyết đồ thị thuật toán đồ thị lĩnh vực rộng phức tạp Việc hiểu cài đặt tốt thuật tốn địi hỏi thời gian cơng sức lớn Hiện nay, việc truyền đạt thuật toán đồ thị cho học sinh chuyên Tin gặp nhiều khó khăn Có nhiều nhiều lý do: Các thuật tốn khó hình dung, việc tổ chức liệu cho phức tạp, thời gian giảng dạy lớp có hạn, tài liệu tham khảo tự đọc, tự học cịn ít… Trong khn khổ đề tài này, xây dựng chương trình nhằm mơ hoạt động ba thuật tốn giải ba toán đồ thị theo phân phối chương trình Bộ Giáo dục với hai mục đích: để học sinh dễ dàng nắm bắt tư tưởng bước hoạt động cụ thể thuật tốn, để giáo viên làm cho giảng thuật toán trở nên dễ hiểu, dễ tiếp thu Nội dung luận văn chia thành chương: Trang 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương I Những kiến thức thuật toán Ở chương này, chúng tơi trích nêu khái niệm tốn thuật tốn Các tính chất thuật tốn, xác định độ phức tạp thuật tốn…Cuối cùng, chúng tơi giới thiệu ba thuật toán quan trọng đồ thị mà học sinh THPT học Chương II Mô thuật tốn Chương chúng tơi trình bày khái niệm mơ phỏng, chức mô vấn đề liên quan như: lịch sử mô phỏng, nghiên cứu hiệu giảng dạy số u cầu việc mơ thuật tốn nói chung Chương III Phân tích thiết kế hệ thống mơ số thuật tốn đồ thị Ở chương 3, chúng tơi trình bày q trình phân tích, thiết kế xây dựng hệ thống mơ ba thuật tốn: thuật tốn tìm kiếm (tìm kiếm theo chiều sâu tìm kiếm theo chiều rộng), thuật tốn tìm đường ngắn (thuật tốn Dijsktra) thuật tốn tìm khung cực tiểu đồ thị vơ hướng có trọng số (thuật tốn Prim)… Trang 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương MỘT SỐ KIẾN THỨC CƠ BẢN VỀ THUẬT TOÁN Khái niệm toán Tin học Trong phạm vi tin học, người ta quan niệm tốn cơng việc mà người muốn máy tính thực [xem 1] Khi dùng máy tính để giải toán, ta cần quan tâm tới vấn đề: Dữ liệu cần đưa vào máy tính (Input) cần lấy (Output) thơng tin gì? Nói cách khác, cho tốn việc mơ tả rõ Input Output tốn Vấn đề cịn lại là: Làm để từ Input ta có Output? Khái niệm thuật toán Khác với Toán học (các yêu cầu toán thường chứng minh tồn đáp án không yêu cầu tìm cách chi tiết để tìm đáp án đó), giải tốn Tin học việc tìm lời giải cụ thể, tường minh để đưa Output toán dựa Input cho Việc cách tìm Output tốn gọi thuật tốn Có nhiều cách phát biểu khái niệm thuật toán Dưới cách phát biểu chọn để đưa vào sách giáo khoa Tin học phổ thơng: Khái niệm thuật tốn: thuật toán dãy hữu hạn thao tác xếp theo trình tự định để sau thực dãy thao tác đó, từ input ta có output cần tìm [xem 1] Trong lĩnh vực máy tính, cụm từ “thuật tốn” đơi người ta dùng từ khác: “giải thuật” Ví dụ thuật toán: Nhập vào số nguyên dương N, kiểm tra số có số nguyên tố hay khơng? Lời giải: Input: Số ngun dương N Output: Có/khơng tương ứng với N có ngun tố hay khơng? Trang 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com  DFS mô phỏng: Module: GraphTool.Searching.DFSForm  DFS thực thi thuật toán “lên” kịch bản: GraphTool.Model.DFS Kiến trúc: DFS mơ phỏng: Module: GraphTool.Sear ching.DFSForm Chuyển mơ hình đồ thị mà người dùng chuẩn bị cho Module Model.DFS thực thuật toán DFS thực thi thuật toán: GraphTool.Mo del.DFS Trả lại bước thuật toán thực liệu đầu vào để chương trình mơ bắt đầu làm việc Chức năng: công cụ chức chúng mơ hình cài đặt  Các cơng cụ chương trình: private Dictionary _trace =new Dictionary(); private Dictionary _free = new Dictionary(); public Graph Graph { get; set; } public string VertexKeyStart {get; set;} public string VertexKeyEnd {get; set;} private BagStep _steps = new BagStep();  Cơng cụ thuật tốn:các thuật tốn trợ giúp cho thuật tốn chính: Thủ tục public void Execute() private void GetResult() public BagStep GetBagStep() private void DfsAlgorithms(Vertex u) private void Initialize() Chức Thực thi thuật toán Lấy kết lưu trữ vào bước cho vào túi Lấy túi đựng bước để chuyển qua mơ Chương trình đệ quy thực việc thăm theo mơ hình DFS từ đỉnh u tới đỉnh kề với Khởi tạo thơng số đồ thị dựa mơ hình đồ thị mà người dùng đưa vào trước thực thuật toán Trang 72 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com private void UpdateTrace(string after, string before) private void UpdateInfoAtStepEnd() public class StepStartDFS() public class StepEndDFS : Step public public public public public class class class class class DfsStep1 : Step DfsStep21 : Step DfsStep22 : Step DfsStep23 : Step DfsStep3 : Step Thực cơng việc truy vết Hồn thiện thuật toán Ghi nhận cạnh qua theo mơ hình DFS Các bước lưu trữ túi Step kế thừa lớp Step, khởi tạo đỉnh xuất phát Ghi nhận cạnh thăm trình thực theo thuật tốn DFS truy vết Các bước làm mịn q trình mơ thuật tốn DFS Thừa kế từ lớp Step Tìm kiếm theo mơ hình BFS: Chương trình con:  BFS mơ phỏng: Module: GraphTool.Searching.BFSForm  BFS thực thi thuật toán: GraphTool.Model.BFS Kiến trúc: BFS mô phỏng: Module: GraphTool.Sear ching.BFSForm Chuyển mô hình đồ thị mà người dùng chuẩn bị cho Module Model.BFS thực thuật toán BFS thực thi thuật toán: GraphTool.Mo del.BFS Trả lại bước thuật toán thực liệu đầu vào để chương trình mơ bắt đầu làm việc Chức năng: cơng cụ chức chúng mơ hình cài đặt  Các công cụ sử dụng chương trình: private Dictionary _trace = new Dictionary(); private Dictionary _free = new Dictionary(); public Graph Graph { get; set; } private Queue _Q = new Queue(); public string VertexKeyStart { get; set; } public string VertexKeyEnd { get; set; } Trang 73 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com private BagStep _steps = new BagStep();  Các chương trình chức chúng: Thủ tục Chức Thực thi thuật toán Lấy kết lưu trữ vào bước cho vào private void GetResult() túi Lấy túi đựng bước để chuyển qua mơ public BagStep GetBagStep() Chương trình đệ quy thực việc thăm theo private void BfsAlgorithms(Vertex mơ hình BFS từ đỉnh u tới đỉnh kề u) với Khởi tạo thơng số đồ thị dựa mơ hình private void Initialize() đồ thị mà người dùng đưa vào trước thực thuật toán public void Execute() private void UpdateTrace(string after, string before) private void UpdateInfoAtStepEnd() Public class StepStart1() Public class StepEnd1 : Step Public Public Public Public Public class class class class class BfsStep1 : Step BfsStep21 : Step BfsStep22 : Step BfsStep23 : Step BfsStep3 : Step Thực cơng việc truy vết Hồn thiện thuật toán Ghi nhận cạnh qua theo mơ hình BFS Các bước lưu trữ túi Step kế thừa lớp Step, khởi tạo đỉnh xuất phát Ghi nhận cạnh thăm q trình thực theo thuật tốn BFS truy vết Các bước làm mịn q trình mơ thuật tốn BFS 7.3.2 Dijsktra Chương trình  Dijsktra mô phỏng: Module: GraphTool.Searching.dijkstraForm  Dijkstra thực thi thuật toán: GraphTool.Model.dijkstra: thực thi theo thuật toán lưu lại bước thực vào túi (BagStep) dùng mô Kiến trúc: Trang 74 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chuyển mô hình đồ thị mà người dùng chuẩn bị cho Module Model.Dijkstra thực thuật tốn Dijkstra mơ phỏng: Module: GraphTool.Dijk tra.DijktraFor m Dijkstra thực thi thuật toán: GraphTool.Mo del.Dijkstra Trả lại bước thuật toán thực liệu đầu vào để chương trình mơ bắt đầu làm việc Chức năng: công cụ chức chúng mơ hình cài đặt  Công cụ sử dụng module: private HashSet _vertexGone = new HashSet(); private HashSet _vertexGo = new HashSet(); private Dictionary _trace = new Dictionary(); private Dictionary _distance = new Dictionary(); private BagStep _steps = new BagStep(); public Graph Graph { get; set; } public string VertexKeyStart { get; set; } public string VertexKeyEnd { get; set; } public BagStep GetBagStep()  Các chương trình chức chúng: Thủ tục public void Execute() Chức Thực thuật tốn Dijkstra Khởi tạo thơng số cần thiết cho public void Initialize(); thuật toán Sửa nhãn cho tất đỉnh chưa private void UpdateEdgeGo(Vertex u) chọn cố định đỉnh u Trang 75 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com private void UpdateTrace(string after, string before) Cập nhật vết cho đường thực thuật toán Ghi lại thông số cuối để private void UpdateInfoAtStepEnd() private void AddVertextToVertexGone(Vertex gone) dựng kịch cho mô Kết nạp thêm đỉnh vào tập S (các đỉnh cố định nhãn) Ghi nhận bước thuật private void AddStepStart() private void AddStepStart12(string key) private void AddStepUpdateVertexValue() private private private key) private private toán Dijkstra đồ thị vừa chọn Cập nhật bước để lên kịch mô void AddStepUpdateVertexValueStep11() void AddStepUpdateVertexValueStep12() void AddStepChooseVertexMin(string void AddStepAddVertex() void AddStepEnd() public class StepStart : Step { public string VertexStart { get; set; } private Dictionary _d = new Dictionary(); public void UpdateVertexValue(Dictionary d) { foreach (string key in d.Keys) { _d.Add(key, d[key]); } } public Dictionary GetDistanceInfomation() { return _d; } Kịch cho mô phỏng: Bước khởi đầu: Xây dựng thông số ban đầu từ đồ thị người dùng chuyển vào thành Input cho thuật toán public class StepEnd : Step { private IList _edgesInShotestPath = new List(); Bước cuối cùng: sau thực thuật toán Dijkstra, lớp StepEnd lưu giữ lại tồn thơng số cần thiết để mô phỏng: cạnh thuộc đường ngắn nhất, đỉnh thuộc đường đó… public void UpdateEdgeInfosInShotestPath(Dictionary trace, string keyEnd, string keyStart) { Trang 76 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com string key = keyEnd; while (key != keyStart && key != string.Empty) { _edgesInShotestPath.Add(trace[key] + ">" + key); key = trace[key]; } if (key == string.Empty) _edgesInShotestPath = new List(); } public IList EdgesInShotestPath() { return _edgesInShotestPath; } } //step public class StepUpdateVertexValue : Step { private Dictionary _d = new Dictionary(); Bước 1: Sửa nhãn cho tất đỉnh public void UpdateVertexValue(Dictionary d) {foreach (string key in d.Keys) { _d.Add(key, d[key]); } } public Dictionary GetDistanceInfomation() { return _d; } } //step public class StepChooseVertexMin : Step { public string Min { get; set; } } Bước 2: Chọn đỉnh có nhãn nhỏ để cố định //step3 public class StepAddVertex : Step { private IList _gones = new List(); Bước 3: thêm đỉnh vừa chọn bước vào tập đỉnh cố định nhãn public IList GetAddedVertex() { return _gones; } } Trang 77 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 7.3.3 Prim Với thuật toán Prim – thuật toán tìm khung nhỏ nhất, đồ thị lựa chọn một: đồ thị vơ hướng có trọng số người dùng cần lựa chọn đỉnh xuất phát Từ đỉnh xuất phát đó, chương trình mơ thực trình tự thuật tốn Prim để kết nạp dần đỉnh vào khung Thuật toán dừng dựng thành khung đồ thị cho khơng liên thơng (khơng có nghiệm) Cũng giống Dijkstra, chương trình mơ thực Chương trình con:  Prim mơ phỏng: Module: GraphTool.Prim.PrimForm  Prim thực thi thuật tốn: GraphTool.Model.Prim Kiến trúc: Chuyển mơ hình đồ thị mà người dùng chuẩn bị cho Module Model.Prim thực thuật tốn Prim mơ phỏng: Module: GraphTool.Pri m.PrimForm Prim thực thi thuật toán: GraphTool.Mo del.Prim Trả lại bước thuật toán thực liệu đầu vào để chương trình mơ bắt đầu làm việc Chức năng: công cụ chức chúng mơ hình cài đặt Thủ tục Chức public void Execute() Thực thuật toán Prim public void Initialize(); Khởi tạo thông số cần thiết cho Trang 78 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com thuật toán Sửa nhãn cho tất đỉnh chưa private void UpdateEdgeGo(Vertex u) chọn cố định đỉnh u Cập nhật đỉnh cạnh thuộc private void UpdateTrace(string after, string before) khung thực thuật tốn Ghi lại thơng số cuối để private void UpdateInfoAtStepEnd() private void AddVertextToVertexGone(Vertex gone) dựng kịch cho mô Kết nạp thêm đỉnh vào khung Ghi nhận bước thuật private void AddStepStartPrim() toán Prim đồ thị vừa chọn private void AddStepStartPrim(string key) private void AddStepUpdateVertexValuePrim() private void AddStepUpdateVertexValueStep11Prim() private void AddStepUpdateVertexValueStep12Prim() private void AddStepChooseVertexMinPrim(string key) private void AddStepAddVertexPrim() private void AddStepEndPrim() Cập nhật bước để lên kịch mô Trang 79 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương KẾT LUẬN Những kết đạt Trải qua trình làm việc nghiêm túc, bước đầu thu số kết sau: - Những kiến thức tổng quan, tính chất thuật tốn, lịch sử phát triển hệ thống mô phỏng; số ưu điểm tồn hệ thống mô tại; - Đề xuất giải pháp xây dựng mơ hình mơ mới, có hệ thống thuật tốn phức tạp Đây chương trình phù hợp với công việc giảng dạy giáo viên việc tự học, tự tìm hiểu kiến thức học sinh - Xây dựng chương trình mơ cụ thể số thuật tốn đồ thị gồm: - Thuật tốn tìm kiếm theo chiều sâu DFS - Thuật tốn tìm kiếm theo chiều rộng BFS - Thuật tốn tìm đường ngắn – thuật tốn Ford - Bellman - Thuật tốn tìm đường ngắn – thuật tốn Dijkstra - Thuật tốn tìm khung nhỏ đồ thị vơ hướng có trọng số thuật tốn Prim - Thuật tốn tìm khung nhỏ đồ thị vơ hướng có trọng số thuật tốn Kruskal - Thuật tốn tìm chu trình Hamilton qua tất đỉnh đồ thị Trang 80 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.Hướng phát triển - Triển khai chương trình tới học sinh để ghi nhận tiến mặt hiểu chất cách thức hoạt động thuật toán - Có thể sử dụng module cài đặt để tiếp tục mơ thuật tốn nâng cao đồ thị: luồng, cặp ghép đồ thị… Trang 81 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC TÀI LIỆU THAM KHẢO Tài liệu Tiếng Việt Hồ Sĩ Đàm (chủ biên) – Sách giáo khoa Tin học 10, NXB Giáo dục, trang… Lê Minh Hoàng - Bài giảng chuyên đề Hồ Sĩ Đàm (chủ biên) – Tài liệu giáo khoa chuyên Tin (bộ tập) Thomas H Cormen Charles E Leiserson Ronald Rivest – Giáo trình thuật tốn - Nhà xuất thống kê TS Nguyễn Xuân My(chủ biên) – Một số vấn đề chọn lọc Tin học (T1+T2) - Nhà xuất giáo dục Tài liệu Tiếng Anh Kehoe C., Stasko J., Taylor A., Rethinking the evaluation of algorithm nimations as learning aids: an observational study, Technical Report GIT-GVU-99-10, March, 1999 Stasko, 1990, Tango: A Framework and System for Algorithm Animation IEEE Computer, 23(9): pp27-39 Brown, 1988 Algorithm Animation The MIT Press, Cambridge, MA, 1988 [Brown, 1992] Brown, M Zeus: A system for algorithm animation and multi-view editing (Research Report No.75) DEC Systems Research Center, Palo Alto, CA 10 Brown, 1993 The 1992 SRC Algorithm Animation Festival In Proceedings of the 1993 IEEE Symposium on Visual Languages: 116123, 1993 11 Byrne, M D, Catrambone, R and Stasko, J T.(1996) Do algorithm animations aid learning? Graphics, Visualization, and Usability Center, Georgia Institute of Technology, Atlanta, GA, Technical Report GITGVU -96-18, August 1996 Trang web: 12 http://www.cs.hope.edu/algamin/cc 13 http://www.cs.edu/~zeil/algae.html 14 http://www.cc.gatech.edu/gvu/softviz/algoanim/xtango.html Trang 82 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 http://www.csse.monash.edu.au/ 16 http://www.csharp-station.com/Tutorial.aspx 17 http://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx Trang 83 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com PHỤ LỤC Công đoạn chuẩn bị cho file kịch void arrayExample () { System.out.println(“begin”); String[] a1 = {“4”, “453434”, "HELLO WORLD!", "01010 10101"}; System.out.println(“array a1 50 50 4 453434 “+”\"HELLO WORLD!\" ”+”\"01010 10101\" “+”horz black transparent”); //ANNOTATIONS String[] a2 = {"THIS", "IS", "AN", "ARRAY"}; System.out.println(“array a2 150 100 “+”\"THIS\" ”+”\"IS\" “+”\"AN\" “”\"ARRAY\" “+ ”vert black transparent”); System.out.println(“end”); //ANNOTATIONS //ANNOTATIONS for multiple commands System.out.println(“begin”); System.out.println(“changeParam a1[0] bkgrd red”); System.out.println(“changeParam a2[0] bkgrd red”); System.out.println(“end”); for ( int i =0; i

Ngày đăng: 02/11/2022, 10:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

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

TÀI LIỆU LIÊN QUAN

w