Tôi đang cố gắng mô phỏng thang máy, như mọi khi tôi bắt đầu rất đơn giản bằng cách chỉ thực hiện một đơn hàng tại một thời điểm, sau đó thêm bộ nhớ vào thang máy dưới dạng hàng đợi để các tầng được di chuyển theo thứ tự mà chúng được nhấn, đó rõ ràng không phải là cách tiếp cận tốt nhất.
Vì vậy, hiện tại tôi đang sử dụng một logic rất đơn giản và "thiển cận", đối với tầng hiện tại, hãy tìm tầng gần tôi nhất và đặt nó làm điểm đến tiếp theo của tôi và lặp lại cho đến khi không còn tầng nào trong danh sách nữa.
Nhưng điều này không phải lúc nào cũng hoạt động, ví dụ thang máy ở tầng 3 của tòa nhà 5 tầng và nhận được đơn hàng 4,5,2, con đường ngắn nhất sẽ là 2-> 4-> 5 có giá 4 tầng nhưng sử dụng logic này 4-> 5-> 2 có giá 5 có cùng cơ hội được chọn, tùy thuộc vào mã.
Làm thế nào để tôi tìm thấy con đường ngắn nhất và làm cho thang máy hiệu quả hơn?