gpt4 book ai didi

Python——通过二叉树进行摩尔斯电码翻译

转载 作者:行者123 更新时间:2023-11-30 23:36:48 28 4
gpt4 key购买 nike

我正在编写一个程序,该程序将创建莫尔斯电码字母表的二叉树(以及句点和撇号),然后读取一行莫尔斯电码并将其翻译成英语。 (是的,我知道查找表会更容易,但我需要整理我的二叉树)。我认为我的问题很大一部分是我想按字母顺序而不是按符号顺序将值放入树中。但肯定有办法做到这一点吗?因为如果我有一百万个这样的非数字值,我就不需要将它们排序为最简单的插入顺序......对吗?

它正在读取一个文本文件,其中每一行都有一个摩尔斯电码句子。- .... ... ... .. ... ..-。 ..- -. .-.-.- 例如,这是“这很有趣”。符号之间有 1 个空格表示这是一个新字母,2 个空格表示这是一个新单词。

就目前情况而言,我得到了上面给出的那一行的输出“.$$$”,这意味着它正在读取一个句点,然后收到一个由 ('$$$') 表示的错误,即显然是错误的...

就像我之前说的,我知道我很复杂,但肯定有一种方法可以做到这一点,而无需先对树中的值进行排序,而且我想现在就解决这个问题,而不是当我在时间紧迫的情况下。

有人有见解吗?这件事是不是太明显了,以至于我应该因为询问而感到尴尬?

最佳答案

欢迎来到SO,感谢您提出一个有趣的问题。是的,在我看来你把事情变得有点过于复杂了。例如,这里完全没有必要使用类。您可以重用现有的 Python 数据结构来表示树:

def add(node, value, code):
if code:
add(node.setdefault(code[0], {}), value, code[1:])
else:
node['value'] = value

tree = {}
for value, code in alphabet:
add(tree, value, code)

import pprint; pprint.pprint(tree)

这将为您提供一个带有键 .-value 的嵌套字典,这将更容易使用。

关于Python——通过二叉树进行摩尔斯电码翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16161813/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com