我的代码的目的是从txt文件中获取每个单独的单词,并将其放入列表中,然后使用该列表制作二进制搜索树以计算每个单词的出现频率,并按字母顺序及其频率打印每个单词。“”中的每个单词只能包含字母,数字,-或“,我无法利用我的初学者编程知识来做的事情是使用我拥有的列表制作二叉搜索树(我只能插入整个列表在一个节点中,而不是将每个单词放到一个节点中来制作树)。到目前为止,我的代码是:
def read_words(filename):
openfile = open(filename, "r")
templist = []
letterslist = []
for lines in openfile:
for i in lines:
ii = i.lower()
letterslist.append(ii)
for p in letterslist:
if p not in ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',"'","-",' '] and p.isdigit() == False:
letterslist.remove(p)
wordslist = list("".join(letterslist).split())
return wordslist
class BinaryTree:
class _Node:
def __init__(self, value, left=None, right=None):
self._left = left
self._right = right
self._value = value
self._count = 1
def __init__(self):
self.root = None
def isEmpty(self):
return self.root == None
def insert(self, value) …Run Code Online (Sandbox Code Playgroud)