Một cây là một đồ thị của các nút và các liên kết; một nút được gọi là gốc. Tất cả các nút kháccó thể được đạt đến từ gốc thông qua chỉ có một tuyến đường duy nhất. Một cây con đường ngắn nhất là một câytrong đó đường dẫn giữa các gốc và mỗi nút khác là ngắn nhất. Những gì chúng tôi cầnĐối với mỗi nút là một cây con đường ngắn nhất với nút đó như là gốc. Thuật toán Dijkstrađược sử dụng để tạo ra một cây con đường ngắn nhất từ một đồ thị nhất định. Các thuật toán sử dụng sau đâyCác bước:1. khởi tạo: Chọn nút là gốc rễ của cây và thêm nó vào đường dẫn. Thiết lập cáccác khoảng cách ngắn nhất cho tất cả gốc của hàng xóm với chi phí giữa gốc và nhữnghàng xóm. Thiết lập khoảng cách ngắn nhất của gốc bằng không.2. lặp đi lặp lại: Lặp lại hai bước sau đây cho đến khi tất cả các nút được bổ sung vào đường dẫn: a. thêm nút tiếp theo để đường dẫn: tìm kiếm các nút không trong đường dẫn. Chọn cácmột với tối thiểu ngắn nhất khoảng cách và thêm nó vào đường dẫn.sinh Cập Nhật: Cập Nhật khoảng cách ngắn nhất cho tất cả các nút còn lại bằng cách sử dụng ngắn nhấtkhoảng cách của các nút chỉ cần di chuyển đến đường dẫn trong bước 2.DJ = tối thiểu (Dj, Di + cij) cho tất cả còn lại nútBảng 11.3 cho thấy các phiên bản đơn giản của thuật toán này.Thuật toán bảng 11.3 DijkstraTìm 11.19 cho thấy sự hình thành của cây con đường ngắn nhất cho đồ thị của bảynút. Tất cả các nút trong đồ thị có cùng cấu trúc liên kết, nhưng mỗi nút tạo ra một khác nhaungắn nhất con đường cây với chính nó như là gốc rễ của cây.Chúng tôi hiển thị cây tạo bởinút A. Chúng tôi cần phải đi qua một bước khởi tạo và sáu lặp đi lặp lại để tìm cáccây ngắn nhất.Trong bước khởi tạo, nút A chọn chính nó như là gốc. Nó sau đó gán ngắn nhấtđường dẫn các khoảng cách để mỗi nút trên topology. Các nút mà không phải là hàng xóm của Anhận được một giá trị khoảng cách con đường ngắn nhất của vô cực.
đang được dịch, vui lòng đợi..
