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

Function generateQuery

graph/lowestcommonancestor_test.go:203–230  ·  view source on GitHub ↗
(tree *Tree)

Source from the content-addressed store, hash-verified

201}
202
203func generateQuery(tree *Tree) []Query {
204 rnd := rand.New(rand.NewSource(time.Now().UnixNano()))
205 const MAXQUERY = 50
206 var queries []Query
207
208 bruteforceLCA := func(u, v int) int {
209 for u != v {
210 if tree.GetDepth(u) > tree.GetDepth(v) {
211 u = tree.GetDad(u)
212 } else {
213 v = tree.GetDad(v)
214 }
215 }
216 return u
217 }
218
219 for q := 1; q <= MAXQUERY; q++ {
220 u := rnd.Intn(tree.numbersVertex)
221 v := rnd.Intn(tree.numbersVertex)
222 queries = append(queries, Query{
223 u: u,
224 v: v,
225 expected: bruteforceLCA(u, v),
226 })
227 }
228
229 return queries
230}
231
232// Test with the tree with up to 2000 vertices.
233func TestLCAWithLargeTree(t *testing.T) {

Callers 1

TestLCAWithLargeTreeFunction · 0.85

Calls 2

GetDepthMethod · 0.65
GetDadMethod · 0.65

Tested by

no test coverage detected