У меня домашнее задание о полетах в аэропортах, где сначала нужно создать представление разреженной матрицы (i, j и значения) для массива 1000x1000 из 10000 случайных чисел по следующим критериям:
- i и j должны быть в диапазоне от 0 до 999, поскольку строки и столбцы массива
- значения должны быть в диапазоне от 1,0 до 5,0
- i не должно быть равно j
- i и j должны присутствовать только один раз
i - аэропорт вылета, j - аэропорт прибытия, а значения - часы поездки от i до j.
Затем я должен найти обходные пути для аэропорта А с 2-8 максимальными остановками на основе вышеуказанных критериев.Например:
- A, D, F, G, A является допустимым двусторонним рейсом с 4 остановками
- A, D, F, D, A не является допустимым двустороннимD посещается дважды
ПРИМЕЧАНИЕ: проблема должна решаться исключительно с помощью встроенных библиотек Python.Никакие внешние библиотеки не принимаются, как сиппи и тупица.
Я попытался запустить цикл для 10000 чисел и присвоить строке, столбцу и значению случайное число на основе вышеуказанных критериев, но я полагаю, что это не то, что присваивает мне назначение, поскольку цикл не 'не останавливайся
Полагаю, i и j не являются действительными представлениями iloc и j разреженной матрицы, а являются их значениями?я не знаю.
В настоящее время у меня нет рабочего кода, кроме примера для реализации туда и обратно.Хотя возникнет ошибка, если список пуст:
dNext = {
0: [],
1: [4, 2, 0],
2: [1, 4],
3: [0],
4: [3, 1]
}
def findRoundTrips(trip, n, trips):
if (trip[0] == trip[-1]) and (1 < len(trip) <= n + 1):
trips.append(trip.copy())
return
for x in dNext[trip[-1]]:
if ((x not in trip[1:]) and (len(trip) < n)) or (x == trip[0]):
trip.append(x)
findRoundTrips(trip, n, trips)
trip.pop()