-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Description
First of all, @fvbock, thanks a bunch for the trie example!
But I'm getting a hard time understanding it.
Can you please implement more simple trie example?
Something like the below:
package main
type Node struct {
end bool
nmap map[byte]*Node
}
func (n *Node) Add(entry []byte) {
if len(entry) == 0 {
n.end = true
return
}
b := entry[0] // current byte
if n.nmap[b] == nil {
n.nmap[b] = &Node{end: false, nmap: make(map[byte]*Node)}
}
n.nmap[b].Add(entry[1:])
}
func main() {
n := &Node{end: false, nmap: make(map[byte]*Node)}
n.Add([]byte("a"))
n.Add([]byte("b"))
n.Add([]byte("aa"))
n.Add([]byte("abc"))
}
I've put this very simple example here: https://github.com/kostaz/playground-go-trie/blob/master/trie.go
It will really help myself and other guys...
Metadata
Metadata
Assignees
Labels
No labels