2024年1月10日 星期三

list to dictionary

 # g = {

#      1:[2,3],

#      2:[4,5],

#      3:[6,7],

#      4:[],

#      5:[8],

#      6:[],

#      7:[],

#      8:[]     

#      }


d = '''

1 2

1 3

2 4

2 5

3 6

3 7

5 8

'''


d = d.strip()

e = [int(i) for i in d if i >='0' and i<='9']

d = [i.split() for i in d.split('\n')]

d = [[int(i[0]),int(i[1])] for i in d]


g = {}

for k in set(e):

    a = []

    for j in d:

        if k == j[0]:

            a.append(j[1])

    g[k]=a

print(g)



g = {}

for key in set(e):

    a =[]

    for j in d:

        if j[0]==key:

            a.append(j[1])

    g[key]=a        

print(g)


v = []

def dfs(g,v,n):

    print(n,end=' ')

    v.append(n)

    for nb in g[n]:

        if nb not in v:

            dfs(g,v,nb)

dfs(g,v,1)

print()


v=[]

q = []

def bfs(g,v,n):

      q.append(n)

      while q:

          p=q.pop(0)

          if p not in v:

              print(p,end=' ')

              v.append(p)

              for nb in g[p]:

                  if nb not in v:

                      q.append(nb)

bfs(g,v,1)


# 執行結果

# 1 2 4 5 8 3 6 7 

# 1 2 3 4 5 6 7 8 

沒有留言:

張貼留言