亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:遞歸數據結構

Golang:遞歸數據結構

Go
忽然笑 2022-01-10 17:49:12
我有一個簡單的問題......我正在嘗試用切片在 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貢獻1827條經驗 獲得超8個贊

是你要找的嗎?


查看完整回答
反對 回復 2022-01-10
?
慕森王

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


查看完整回答
反對 回復 2022-01-10
  • 2 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號