Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
354,16 KB
Nội dung
CH ƠNG CÁC THU T TOÁN TỊM KÍM TRÊN Đ TH Đặt toán: Input: Đồ thị G = (V, E) gồm n đỉnh, m cạnh; Một đỉnh u G; Output: Thứ tự thăm đỉnh v G đỉnh u; 2.1 Thu t tốn tìm kiếm theo chiều sâu (Depth - first Search) 2.1.1 Giới thiệu thu t toán - Bước khởi tạo: Tất đỉnh v G chưa xét (vs[v]= 0); - Bước 1: Tìm kiếm theo chiều sâu v = u cách thăm v đánh dấu v xét (vs[v] = 1); - Bước 2: Chọn đỉnh t kề với v chưa xét; - Bước 3: Nếu chọn t quay lại bước với t đóng vai trò u; - Bước 4: Nếu khơng chọn t quay lại bước đỉnh đóng vai trò v đỉnh i có thứ tự duyệt trước v; - Bước 5: Nếu tất đỉnh kề u xét dừng; 2.1.2 Mơ tả thu t toán Thu t toán: DfsDequy(u){ Thăm(u); vs[u] = 1; for v ke(u) if (vs[v] = 0) DfsDequy(v); } 2.1.3 Cài đặt kiểm nghiệm thu t toán Cài đặt 1: (Đệ qui) // G cho ma trận kề a[i][j] int a[100][100], vs[100], n, u; void DfsDequy(int u) { int v; cout