Bài giảng Lý thuyết đồ thị - Bài 2+3: Các thuật toán tìm kiếm trên đồ thị cung cấp cho người học các kiến thức: Tìm kiếm theo chiều sâu, tìm kiếm theo chiều rộng, ứng dụng các thuật toán tìm kiếm trên đồ thị. Mời các bạn cùng tham khảo nội dung chi tiết.
Bài 2, (tt) Các thuật tốn tìm kiếm đồ thị Tìm kiếm theo chiều sâu (Depth First Search – DFS) Ý tưởng B1 Xuất phát từ đỉnh cho trước B2 Xử lý đỉnh đánh dấu để không xử lý lần sau B3 Đưa tất đỉnh kề với vào danh sách xử lý chọn đỉnh để xử lý B4 Quay lại B2 khơng cịn đỉnh danh sách VD: Bắt đầu từ Đưa đỉnh kề với vào DS: 2, 4, Chọn để xử lý Đưa đỉnh kề với vào DS: 3, 4, 5, … Thứ tự: Cài đặt DFS Phân tích: Dùng cấu trúc Stack Sử dụng mảng đánh dấu mảng chiều: int danhdau[maxV]; Quy ước: – danhdau[i] = 0; – danhdau[i] = 1; đỉnh i chưa xét đỉnh i xét Cài đặt DFS (tt) void DFS(DOTHI g, int s) // s la dinh xuat phat { int danhdau[maxV]; Stack st; //Khoi tao for (int i = 1; i