MCPcopy Index your code
hub / github.com/TheAlgorithms/Go / predecessorHelper

Function predecessorHelper

structure/tree/tree.go:155–171  ·  view source on GitHub ↗
(node, nilNode Node[T])

Source from the content-addressed store, hash-verified

153}
154
155func predecessorHelper[T constraints.Ordered](node, nilNode Node[T]) (T, bool) {
156 if node.Left() != nilNode {
157 return maximum(node.Left(), nilNode).Key(), true
158 }
159
160 p := node.Parent()
161 for p != nilNode && node == p.Left() {
162 node = p
163 p = p.Parent()
164 }
165
166 if p == nilNode {
167 var dft T
168 return dft, false
169 }
170 return p.Key(), true
171}
172
173func successorHelper[T constraints.Ordered](node, nilNode Node[T]) (T, bool) {
174 if node.Right() != nilNode {

Callers

nothing calls this directly

Calls 4

maximumFunction · 0.85
LeftMethod · 0.65
KeyMethod · 0.65
ParentMethod · 0.65

Tested by

no test coverage detected