Code :
Please try at your IDE
alist={
'A':['B','C','D'],
'B':['H'],
'C':['G','F'],
'D':['E','P'],
'E':[],
'F':[],
'G':[],
'H':['J','I'],
'I':['M','L','K'],
'J':[],
'K':[],
'L':[],
'M':[],
'P':[]
}
hfun={
'A':0,
'B':5,
'C':6,
'D':3,
'E':8,
'F':12,
'G':14,
'H':7,
'I':5,
'J':6,
'K':1,
'L':10,
'M':2,
'P':9}
def fsort(v):
for j in range(0,len(v)):
for i in range(0,len(v)-j-1):
if(hfun[v[i]]>hfun[v[i+1]]):
temp=v[i+1];
v[i+1]=v[i];
v[i]=temp;
oqueue=[];
cqueue=[];
goal='I'
oqueue.append('A');
success=Falsewhile len(oqueue)!=0:
node= oqueue.pop(0)
if node is goal:
success=True break for i in alist[node]:
oqueue.append(i)
cqueue.append(node)
fsort(oqueue)
print(cqueue)
if(success):
print("Found")
else:
print("Not Found")
Output:
Please try at your IDE
