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

在Python中使用二叉树计算单词?,python,binary-search-tree,Python,Binary Search Tree,我不知道如何在二叉树类中实现计数器。因为我希望能够跟踪单词的频率。我的问题是,我不知道在insert函数中从哪里开始计数 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__(sel

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

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)
class\u节点:
定义初始化(self,value,左=无,右=无):
自我价值=价值
self.\u left=左
自我。右=右
自计数=0
类二进制树:
定义初始化(自):
self.\u根=无
定义为空(self):
返回self.\u root==无
def插入(自身,值):
如果self.isEmpty():
self.\u根=\u节点(值)
返回
父项=无
探针=自根
而(探测!=无):

if value我怀疑您需要在
if
/
上附加一个条件,否则
您在
中检查
,而
循环在
插入中处理插入的
值等于
探测的情况。_value
。比如:

if value == probe._value:
    probe._count += 1
    return
elif value < probe._value:
    # the rest as before
if value==probe.\u值:
探头计数+=1
返回
elif值<探针值\u值:
#其余的和以前一样

您可能还希望您的
\u节点
类将
\u count
初始化为
1
,而不是
0

您有一个变量
count
,因此请找到它的用途。您为什么要为此使用自定义二叉树?在Python中,对于这样的任务,通常使用某种
dict
。谢谢。如果你只想数一数只出现一次的单词呢?嗯,根据定义,只出现一次的单词,正好出现一次。不需要计数。遍历树并打印具有
\u count==1
的节点的
\u值?我不确定我是否理解这个问题。这些后续问题离你当前的问题越来越远。如果您有更多问题需要帮助,请单独询问。