MCPcopy
hub / github.com/TheAlgorithms/Go / levelOrderHelper

Function levelOrderHelper

structure/tree/tree.go:136–153  ·  view source on GitHub ↗
(root, nilNode Node[T], traversal *[]T)

Source from the content-addressed store, hash-verified

134}
135
136func levelOrderHelper[T constraints.Ordered](root, nilNode Node[T], traversal *[]T) {
137 var q []Node[T] // queue
138 var tmp Node[T]
139
140 q = append(q, root)
141
142 for len(q) != 0 {
143 tmp, q = q[0], q[1:]
144 *traversal = append(*traversal, tmp.Key())
145 if tmp.Left() != nilNode {
146 q = append(q, tmp.Left())
147 }
148
149 if tmp.Right() != nilNode {
150 q = append(q, tmp.Right())
151 }
152 }
153}
154
155func predecessorHelper[T constraints.Ordered](node, nilNode Node[T]) (T, bool) {
156 if node.Left() != nilNode {

Callers

nothing calls this directly

Calls 3

KeyMethod · 0.65
LeftMethod · 0.65
RightMethod · 0.65

Tested by

no test coverage detected