mobo0 bắt đầu chủ đề từ 9 tháng trước

@billy21 ·


Tôi gặp khó khăn khi nghiên cứu và thực hành phương pháp của Dijkstra, dẫn đến kết quả đầu ra không chính xác và hành vi không mong muốn. Tôi đã đọc từ blog scaler và tôi nhận ra rằng vấn đề nằm ở việc lựa chọn và triển khai cấu trúc dữ liệu của tôi.

Trong mã của tôi, tôi đã sử dụng một mảng đơn giản để theo dõi khoảng cách của mỗi nút từ nút nguồn. Tuy nhiên, khi tôi tìm hiểu thuật toán, tôi phát hiện ra rằng khoảng cách không được cập nhật chính xác. Các nút đã được truy cập nhiều lần và tuyến đường ngắn nhất không được tính toán chính xác.

Sau khi xem lại mã của mình và thực hiện một số trường hợp thử nghiệm, tôi phát hiện ra rằng sự cố xảy ra do cách tôi thay đổi khoảng cách trong mảng không chính xác. Khi tôi xác định một đường dẫn ngắn hơn, thay vì cập nhật khoảng cách của một nút, tôi đã ghi đè giá trị bằng khoảng cách mới. Do đó, thuật toán không thể theo dõi khoảng cách tối thiểu một cách thích hợp, dẫn đến các lựa chọn và độ dài đường đi không chính xác.

Viết câu trả lời

Drop Images

0 Bình luận