在 Python 中使用二叉树计算单词数?

Counting words using a Binary Tree in Python?

我不确定如何在二叉树中实现计数器 class。因为我希望能够跟踪单词的频率。我的问题是我不知道在插入函数中从哪里开始计数。

class _Node:
def __init__(self, value, left=None, right=None):
    self._value = value
    self._left = left
    self._right = right
    self._count = 0

class BinaryTree:

def __init__(self):
    self._root = None

def isEmpty(self):
    return self._root == None

def insert(self, value) :
    if self.isEmpty() :
        self._root = _Node(value)
        return
    parent = None
    probe = self._root
    while (probe != None) :
        if value <= probe._value :
            parent = probe
            probe = probe._left

        else :
            parent = probe
            probe = probe._right            

    if (value <= parent._value) :
        parent._left = _Node(value)
    else :
        parent._right = _Node(value)

我怀疑你想要 if/else 的额外条件,你正在检查 insert 中的 while 循环,它处理 insert 的情况=15=] 您要插入的内容等于 probe._value。类似于:

if value == probe._value:
    probe._count += 1
    return
elif value < probe._value:
    # the rest as before

您可能还希望 _Node class 将 _count 初始化为 1 而不是 0