当前位置: 首页 > 面试题库 >

Golang:递归数据结构

应嘉容
2023-03-14
问题内容

我有一个简单的问题…我正在尝试使用切片在Golang中重现此递归数据结构。

type Trie map[byte]Trie

现在,我在下面使用带有切片的递归数据结构的“粗糙”源代码,除了我输入的结构是结构而不是结构片之外,其他所有东西都可以正常工作。理想情况下,我希望类型化的递归数据结构是Trie的一部分,其中包含元素Trie
{byte,[] Trie}。希望这有意义吗?现在,我有一个Trie struct {byte,[] Trie}类型。

type Trie struct {
elem byte
others []Trie
}

也许这会有所帮助。当我现在创建切片的Trie时,我使用此功能。

func CreateTrie() []Trie {
    return make([]Trie, 0, 13)
}

我想以这样的方式定义切片的Trie:

func CreateTrie() Trie {
    return make(Trie, 0, 13)
}

切片是否可以做到这一点,或者我对切片使用了第一个(唯一的)解决方案?


问题答案:

这是您要找的东西吗?



 类似资料:
  • 本文向大家介绍数据结构 二叉树的递归与非递归,包括了数据结构 二叉树的递归与非递归的使用技巧和注意事项,需要的朋友参考一下 数据结构 二叉树的递归与非递归 实例代码:  先序遍历(递归法)   后序遍历      感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 问题内容: 我试图递归地反映一个结构,打印出每个字段的类型。在字段是结构片段的情况下,我希望能够识别数组中保存的类型,然后在该类型上进行反映。 这是一些示例代码 输出看起来像这样: 当我确定字段类型是指针的一部分时,我可以通过调用subtype.Elem()来推断类型。 输出为“ main.child” 如果我然后尝试反映孩子使用 我得到以下内容: 如何使用反射API遍历子结构的字段? 问题答案:

  • 从前有座山 山里有座庙 庙里有个老和尚和小和尚 老和尚对小和尚说: 从前有座山 返回1 从前有座山,山里有个庙,庙里有个和尚讲故事……这是一个古老的童谣,每个人都知道下面一句说了什么,但还要不厌其烦的说下去。犹如我们的人性,陷入一种循环,不可逃脱,无法自拔。 所以在我们现实生活中,很多时候也有所谓的重复性,而这种重复性用计算机解决的话,就能够省很多事情。 如果用一部电影来类比的话,那《盗梦空间》就

  • 我正在用Javascript构建一个图形编辑器,我需要一个算法来识别两个“节点”对象之间所有可能的路由。 给定以下JSON对象: 我需要ID为'node root'的节点之间的所有可能路由 开始- 对于这个例子,输出将是一个JSON路径数组。像这样的东西... 大多数应用程序都使用jQuery,所以纯Javascript或jQuery解决方案都可以工作。

  • 问题内容: 我有一个将位置链接在一起的数据库表;一个位置可以在一个位置,也可以在另一个位置内。 这是深入探讨MySQL / PHP的深度: 在给定父级位置的情况下,如何使用MySQL如何获得其所有后代位置,无论深度如何? 问题答案: mysql.com上有 一篇漂亮的文章 ,概述了管理分层数据的各种方法。我认为它为您的问题提供了完整的解决方案,并显示了各种不太简单但较快的方法(例如嵌套集)。

  • 问题内容: 我已经为C中的驱动程序开发了一个DLL。我用C ++编写了一个测试程序,并且DLL可以正常工作。 现在,我想使用Python与该DLL进行交互。我已经成功隐藏了大多数用户定义的C结构,但是有一点我必须使用C结构。我是python的新手,所以我可能会出错。 我的方法是使用ctype在python中重新定义一些结构,然后将该变量传递给我的DLL。但是在这些类中,我有一个自定义链接列表,其中