我有一個簡單的問題......我正在嘗試用切片在 Golang 中重現這個遞歸數據結構。type Trie map[byte]Trie現在我有一些使用下面帶有切片的遞歸數據結構的“粗略”源代碼,除了我的類型化結構是結構而不是結構切片之外,一切正常。理想情況下,我希望我的類型化遞歸數據結構是 Trie 的一部分,其中包含元素 Trie{byte, []Trie}。希望這有意義嗎?現在我有一個類型是 Trie struct{byte, []Trie}。type Trie struct {elem byteothers []Trie} 也許這會有所幫助。當我現在創建我的切片 Trie 時,我使用這個函數。func CreateTrie() []Trie { return make([]Trie, 0, 13)}我想以這樣的方式定義切片的 Trie,以便我可以創建這樣的切片。func CreateTrie() Trie { return make(Trie, 0, 13)}這對切片是否可行,或者我是否已經使用我的第一個(唯一)解決方案進行切片?
2 回答

慕森王
TA貢獻1777條經驗 獲得超3個贊
我認為這是可能的
使用你的 Trie 結構
type Trie struct {
elem byte
others []*Trie
}
這是一個修改后的createTrie構造函數。我不確定你是否想展示一個Tries鏈,所以我想通過level作為一個例子。
func createTrie(levels int) *Trie {
result := &Trie{
others: make([]*Trie, 0, 13),
}
for level := 0 ;level < levels; level++ {
result.others = append(result.others, createTrie(levels - 1))
}
return result
}
https://play.golang.org/p/-GRm0tV-B1
- 2 回答
- 0 關注
- 201 瀏覽
添加回答
舉報
0/150
提交
取消