Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
127,64 KB
Nội dung
CẤU TRÚC DỮ LIỆU GIỚI THIỆU Đỗ Thanh Nghị dtnghi@cit.ctu.edu.vn NỘI DUNG • GIỚI THIỆU – cần phải biết CTDL – trừu tượng hóa – ơn tập NNLT C QUY TRÌNH PHÁT TRIỂN PHẦN MỀM PHÂN TÍCH ĐẶC TẢ VẤN ĐỀ LỰA CHỌN CẤU TRÚC DỮ LIỆU, PHÁT TRIỂN THUẬT TỐN MÃ HĨA CHƯƠNG TRÌNH THỰC THI VÀ KIỂM THỬ BẢO TRÌ CẤU TRÚC DỮ LIỆU + GIẢI THUẬT = CHƯƠNG TRÌNH NIKLAUS WIRTH TỪ BÀI TỐN ĐẾN CHƯƠNG TRÌNH MƠ HÌNH HĨA BÀI TỐN PHÁT TRIỂN GIẢI THUẬT NGÔN NGỮ GIẢ VÀ TINH CHẾ MÔ HÌNH HĨA BÀI TỐN GIẢI BÀI TỐN TRONG THỰC TẾ BẰNG MÁY TÍNH XÁC ĐỊNH BÀI TỐN LÀM GÌ? LÀM NHƯ THẾ NÀO? PHÁT BIỂU LẠI BÀI TỐN TRONG THỰC TẾ THEO MƠ HÌNH TỐN MƠ HÌNH HĨA BÀI TỐN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THÔNG phân chia lối ngã năm thành nhóm, nhóm gồm lối đi đồng thời khơng xảy tai nạn giao thông (không cắt nhau), số lượng nhóm MƠ HÌNH HĨA BÀI TỐN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THƠNG Có 13 lối đi: AB, AC, AD, BA, BC, BD, DA, DB, DC, EA, EB, EC, ED Đi đồng thời: AB, EC Không thể đồng thời: AD, EB Quan tâm: cắt lối MƠ HÌNH HĨA BÀI TỐN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THÔNG Đồ thị: đỉnh lối đi, cạnh nối lối cắt PHÁT TRIỂN GIẢI THUẬT GIẢI THUẬT MỘT DÃY CÁC THAO TÁC ĐỂ GIẢI BÀI TOÁN HỮU HẠN XÁC ĐỊNH HIỆU QUẢ SỬ DỤNG NGÔN NGỮ GIẢ VÀ TINH CHẾ TỪNG BƯỚC 10 GIẢI THUẬT ĐỂ GIẢI BÀI TOÁN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THÔNG Đồ thị: đỉnh lối đi, cạnh nối lối cắt Tô màu lên đỉnh đồ thị cho: Các lối cho phép đồng thời có màu => hai đỉnh có cạnh nối không tô màu Số nhóm => số màu dùng 11 GIẢI THUẬT ĐỂ GIẢI BÀI TỐN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THƠNG Thuật tốn tô màu đồ thị: Chọn đỉnh chưa tô màu tơ màu C Duyệt danh sách đỉnh chưa tơ màu Đối với đỉnh chưa tô màu, xác định xem có kề với đỉnh tơ màu C khơng Nếu khơng có, tơ màu C 12 GIẢI THUẬT ĐỂ GIẢI BÀI TỐN THIẾT KẾ ĐÈN HIỆU ĐIỀU KHIỂN GIAO THÔNG 13 NGÔN NGỮ GIẢ, TINH CHẾ GIẢI THUẬT SỬ DỤNG NGÔN NGỮ GIẢ: ĐƠN GIẢN TINH CHẾ TỪNG BƯỚC: CHI TIẾT HƠN VỀ CÁC BƯỚC 14 NGÔN NGỮ GIẢ, TINH CHẾ void GREEDY (GRAPH *G, SET *Newclr) { /*1*/ Newclr = ∅; /*2*/ for (mỗi đỉnh v chưa tô màu G) /*3*/ if (v không nối với đỉnh Newclr) { /*4*/ đánh dấu v tô màu; /*5*/ thêm v vào Newclr; } } 15 NGÔN NGỮ GIẢ, TINH CHẾ void GREEDY (GRAPH *G, SET *Newclr) { /*1*/ Newclr = ∅; /*2*/ for (mỗi đỉnh v chưa tô màu G) { /*3.1*/ int found=0; /*3.2*/ for (mỗi đỉnh w Newclr) /*3.3*/ /*3.4*/ if (có cạnh nối v w) found=1; /*3.5*/ if found==0 { /*4*/ đánh dấu v tô màu; /*5*/ thêm v vào Newclr; } } } 16 KIỂU DỮ LIỆU TRỪU TƯỢNG GIẢI THUẬT GREEDY SỬ DỤNG KIỂU TRỪU TƯỢNG: GRAPH, SET KIỂU TRỪU TƯỢNG MƠ HÌNH TỐN HỌC VÀ TẬP HỢP CÁC PHÉP TỐN DO NGƯỜI SỬ DỤNG ĐỊNH NGHĨA Ở MỨC KHÁI NIỆM, CHƯA CÀI ĐẶT BẰNG NGƠN NGỮ LẬP TRÌNH NÀO 17 KIỂU DỮ LIỆU TRỪU TƯỢNG KIỂU TRỪU TƯỢNG TẬP HỢP CÁC SỐ NGUYÊN PHÉP TOÁN: TẠO TẬP RỖNG S, KIỂM TRA PHẦN TỬ X CÓ TRONG TẬP HỢP S, THÊM PHẦN TỬ X VÀO S, 18