Програмиране с Python » Форуми » Задачи

Ред на обхождане на бащите при DFS и BFS?

(2 posts)

  1. mrsackless
    Member

    1) Ако методът за обхождане е BFS и на едно и също ниво е намерен търсения атрибут, кое от двете места се счита за отговор?

    пример:
    class A(B, C): pass
    B.x = C.x = "foo"

    r = Resolver(A, BFS)
    r.x # намира B.x или C.x ?

    2) Ако методът за обхождане е DFS, то в какъв ред се обхождат бащите на текущия клас?
    По принцип при DFS това не е дефинирано, но във примера на задачата

    class D: pass
    class C: pass
    class B(D): pass
    class A(B, C): pass

    C.baba = D.baba = 1
    r = Resolver(A, DFS)
    r.baba # казвате че намира D.baba, но това е когато DFSто на първа стъпка се е забило в B. Със същия успех може

    Posted 6 years ago #
  2. Първо се обхождат тези, които са записани първи в списъка с родители, който пък съвпада с реда на елементите в __bases__.

    Posted 6 years ago #

RSS feed for this topic

Reply

You must log in to post.