Нужно оптимизировать программу. Написал программу для нахождения 'Erdos number'. Но задача не проходит по памяти и по времени,подскажите пожалуйста,где можно оптимизировать код ?
co_act = dict()
find_co_act = input()
with open(r"C:\Users\Maxim\Procopov\Publics.txt", encoding='utf-8') as file:
for l in file:
s = l.strip().split("/")[1:]
n = len(s)
for i in range(n):
if s[i % n] in co_act:
co_act[s[i % n]].update({s[(j + i) % n] for j in range(1, n)})
else:
co_act[s[i % n]] = {s[(j + i) % n] for j in range(1, n)}
if not (find_co_act in co_act):
print("Unknown")
exit()
numb = dict().fromkeys(act.keys(), None)
numb["Erdos, Pal"] = 0
q = ["Erdos, Pal"]
while q:
a = q.pop(0)
for i in co_act[a]:
if numb[i] is None:
numb[i] = numb[a] + 1
if i == find_co_act :
print(numb[i])
exit()
q.append(i)
print("Infinity")