Рубрики
Без рубрики

Сегодня я узнал: Поиск по ширине на дереве

Запрещение проблемы реализовать метод поиска в ширину на узле дерева. Образец… Tagged with Python, начинающие, WebDev, алгоритмы.

Реализуйте метод поиска в ширину на узле дерева.

tree =      A
        /   |   \
       B    C     D
     /   \      /   \
    E     F    G     H
        /   \   \
       I     J    K
["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K"]
class Node:
    def __init__(self, name):
        self.children = []
        self.name = name

    def add_child(self, name):
        self.children.append(Node(name))
        return self

    def breadth_first_search(self, array):
        # Write your code here.
        queue = [self]

        while len(queue) > 0:
            cur_node = queue.pop(0)
            for child in cur_node.children:
                queue.append(child)
            array.append(cur_node.name)

        return array

  • Пройдите по уровню дерева по уровню.
  • Используйте очередь, чтобы выполнить обход итеративно.

Оригинал: “https://dev.to/anzhari/today-i-learned-breadth-first-search-on-a-tree-197c”