Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
534,85 KB
Nội dung
VIỆN ĐÀO TẠO CHẤT LƯỢNG CAO KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP PHÂN TÍCH THIẾT KẾ GIẢI THUẬT Nhóm 10 Giáo viên hướng dẫn: Trần Tuấn Anh Sinh viên MSSV Nguyễn Ngọc Trung 19H1120061 Đào Văn Thương 19H1120035 THÀNH PHỐ HỒ CHÍ MINH 1|Page MỤC LỤC PHẦN I: LỜI NÓI ĐẦU…………………………………………………….3 PHẦN II: SẮP XẾP TOPO…………………………………………………4 GIỚI THIỆU VỀ SẮP XẾP TOPO……………………………………4 MÔ TẢ VÀ PHÂN TÍCH ĐỘ PHỨC TẠP………………………… CODE MẪU………………………………………………………… 11 KẾT LUẬN VÀ ĐÁNH GIÁ…………………………………………13 PHẦN III: GIẢI THUẬT DJIKSTRA…………………………………….14 GIỚI THIỆU VỀ GIẢI THUẬT DJIKSTRA…………………………14 MƠ TẢ VÀ PHÂN TÍCH ĐỘ PHỨC TẠP………………………… 15 CODE MẪU………………………………………………………… 25 KẾT LUẬN VÀ ĐÁNH GIÁ………………………………………….27 2|Page PHẦN I: LỜI NÓI ĐẦU Lý thuyết đồ thị lĩnh vực nghiên cứu có từ lâu đờivà có nhiều ứng dụng đại.Những tư tưởng lý thuyết đồ thị đươc đề xuất từ năm đầu kỷ 18 nhà toán học lỗi lạc người Thụy Sĩ Leonhard Euler.Chính ơng người sử dụng đồ thị để giải toán tiếng cầu thàng phố Konigsberg Đồ thị sử dụng để giải toán nhiều lĩnh vực khác Chẳng hạn , đồ thị sử dụng để xác định mạch vịng vấn đề giải tích mạch điện.Chúng ta phân biệt hợp chất hoá học hữu khác với công thức phân tử khác cấu trúc phân tử nhờ đồ thị.Chúng ta xác định xem hai máy tính mạng trao đổi thông tin với hay không nhờ mơ hình đồ thị mạng máy tính Đồ thị có trọng số cạnh sử dụng để giải tốn : tìm đường ngắn hai thành phố mạng giao thơng Chúng ta cịn sử dụng đồ thị để giải toán lập lịch,thời khoá biểu,và phân bố tần số cho trạm phát truyền hình Mục đích ta tìm hiểu nhằm giới thiệu khái niệm bản,các toán ứng dụng quan trọng lý thuyết đồ thị tốn khung nhỏ , tốn tìm đường ngắn thuật toán để giải chúng trình bày chi tiết với việc phân tích hướng dẫn cài đặt chương trình máy tính 3|Page PHẦN II: SẮP XẾP TOPO GIỚI THIỆU VỀ SẮP XẾP TOPO: - Thông thường công việc lớn ta cần phải chia thành nhiều phần để thực Có phần việc thực độc lập có phần việc thực số phần việc khác làm xong - Sắp xếp topo (topological sorting) tốn có tính ứng dụng cao Tin học lẫn Toán học đời sống thường ngày Đây trình xếp dãy phần tử cho thứ tự đảm bảo thứ tự cục (một cách nơm na có nghĩa thứ tự xác định vài cặp phần tử tất phần tử) vốn có chúng Nhờ xếp topo mà ta tính thời gian tối thiểu để thực chuỗi công việc - Ý tưởng xếp topo dựa DFS (tìm kiếm theo độ sâu) Điều kiện để thực topological sorting DAG (đồ thị khơng có chu trình) Thực tế, thơng qua việc xếp, ta kiểm tra xem đồ thị có chứa chu trình hay khơng Một đồ thị khơng có chu trình có xếp topo - VD: Trong số trường ĐH VN nay, có học phần gọi học phần tiên mà sinh viên buộc phải hoàn thành trước học học phần khác Nếu học phần v học phần tiên học phần w, kí hiệu u + w(v,u) thì:= + w(v,u) Ghi nhớ đỉnh v: := v.Quay lại B2 e) Độ phức tạp giải thuật Dijkstra *** Trường hợp sử dụng ma trận kề Gọi f(n) số lần giải thuật Dijkstra khảo sát cạnh đồ thị G trường hợp xấu Khi ta có: f(n) < O() Chứng minh: Cho n = |V|, B5 vòng lặp chứa bước B2 → B5, vòng lặp thực đến v = b.Vì vịng lặp ta rút đỉnh V khởi đầu V có n phần tử, nên vòng lặp xử lý nhiều n lần Ở B2 số đỉnh tối đa khảo sát n - đỉnh Ở B5 số đỉnh kề tối đa khảo sát n -1 đỉnh Do đó: f(n) ≤ 2(n-1)n < O() Vậy độ phức tạp giải thuật Dijkstra O() *** Trường hợp sử dụng danh sách kề Độ phức tạp giải thuật Dijkstra O((|V| + |E|)lg|V|) f) Lưu đồ thuật toán Dijstra 22 | P a g e g) Bảng liệu chạy thô Tạo ma trận sau 042000 401500 23 | P a g e 10 058026 0 10 000630 Ta có đồ thị sau Bảng chạy thô V T a bcdef e bcfd b cfd c fd f d d độ dài từ a f 15 a * b e 3* 2* * c f 10 8* * 12 12 12* d 14 15 * 24 | P a g e CODE MẪU 25 | P a g e 26 | P a g e Nhập liệu vào: Kết cho ra: KẾT LUẬN VÀ ĐÁNH GIÁ Thuật toán Dijkstra ứng dụng nhiều đời sống : Được sử dụng để tìm đường ngắn Được sử dụng ứng dụng mạng xã hội Được ứng dụng mạng điện thoại Được ứng dụng để tìm vị trí đồ Độ phức tạp thuật toán Dijkstra Độ phức tạp thời gian: O(|) Trong đó, E số cạnh V số đỉnh Độ phức tạp không gian: O(V) 27 | P a g e 28 | P a g e ... kề s d) Giải thuật Dijkstra - Có nhiều giải thuật phát triển để giải tốn tìm đường ngắn cặp đỉnh, khuôn khổ viết em xin giới thiệu giải thuật Dijkstra Giải thuật Dijkstra giải thuật để giải toán... “đứng trước”) Sắp xếp topo cónghĩa đưa thứ tự học học phần cho học phần phải học sau học phần tiên 4|Page PHẦN II: SẮP XẾP TOPO MƠ TẢ VÀ PHÂN TÍCH CÁCH THỨC HOẠT ĐỘNG: - Công việc xếp Topo: Cho đồ... ĐẦU…………………………………………………….3 PHẦN II: SẮP XẾP TOPO? ??………………………………………………4 GIỚI THIỆU VỀ SẮP XẾP TOPO? ??…………………………………4 MƠ TẢ VÀ PHÂN TÍCH ĐỘ PHỨC TẠP………………………… CODE MẪU………………………………………………………… 11 KẾT LUẬN VÀ ĐÁNH GIÁ…………………………………………13