Что делает эта функция Python подсчета двоичного поиска - PullRequest
0 голосов
/ 11 декабря 2018

Привет, я просто хотел бы кратко объяснить, что делает эта функция и как она работает.Мой учитель не мог объяснить это так, как я понял.Это часть программы бинарного дерева поиска, и из того, что я мог собрать, эта функция подсчитывает, сколько раз определенное число (d) встречается в дереве.

def count(self, d):    
    pos = self.root
    while pos != None:
        if d == pos.data:
            return pos.mult
        if d < pos.data:
            pos = pos.left
        else:
            pos = pos.right
    return 0

1 Ответ

0 голосов
/ 11 декабря 2018

Функция не считает, сколько раз конкретное число встречается в дереве.

Она просто ищет номер.Если число найдено, оно возвращает pos.mult.

. Если число меньше или равно d, оно переходит к правому дочернему элементу узла, в котором оно находится в данный момент.Если оно больше, оно переходит к левому потомку.

Это делается до тех пор, пока не достигнет листьев (пока цикл).Листья будут иметь «Нет» как правый / левый ребенок.Затем он останавливает обход дерева и возвращает 0.

...