在Python中使用二叉树计算单词?
我不知道如何在二叉树类中实现计数器。因为我希望能够跟踪单词的频率。我的问题是,我不知道在insert函数中从哪里开始计数在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
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值?我不确定我是否理解这个问题。这些后续问题离你当前的问题越来越远。如果您有更多问题需要帮助,请单独询问。