Дана схема метрополитена, найти кратчайший путь между станциями - Lisp
Формулировка задачи:
Всем привет!
Дана схема метрополитена, найти кратчайший путь между станциями.
Схема метрополитена задаётся с помощью матрицы смежности или матрицы инциденций. Каждому перегону соответствует некоторый вес (длительность перегона). Каждой пересадке также соответствует некоторый вес (длительность пересадки). Необходимо для заданной преподавателем схемы вывести самый короткий путь или все такие пути, если их несколько.
Решение задачи: «Дана схема метрополитена, найти кратчайший путь между станциями»
textual
Листинг программы
(defun DIJKSTRA (Net Init Term &optional (Tmp nil) (Fix (list (cons Init 0)))) ((lambda (fix_label fix_value) (if (equal fix_label Term) fix_value (apply #'(lambda (newTmp newFix) (DIJKSTRA Net Init Term newTmp newFix)) (TRANSFER_MIN (UPDATE_Tmp Tmp Fix (cdr (assoc fix_label Net))) Fix)))) (caar Fix) (cdar Fix)))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д