Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 4 * y = { { 2^2, y } }
- x = { { x } }
- 4 * y + x = { { 2^2, y }, { x } }
- Union(F, G) =
- if (F = ∅) return G
- if (G = ∅) return F
- if (F = G) return F
- if (cache contains "F ∪ G" or "G ∪ F")
- return cached value
- if (F.v = G.v) result = MakeNode(F.v, F.lo ∪ G.lo, F.hi ∪ G.hi)
- if (F.v > G.v) result = MakeNode(G.v, F ∪ G.lo, G.hi)
- if (F.v < G.v) result = MakeNode(F.v, F.lo ∪ G, F.hi)
- cache result as "F ∪ G"
- return result
- Intersect(F, G) =
- if (F = ∅ or G = ∅) return ∅
- if (F = G) return F
- if (cache contains "F ∩ G" or "G ∩ F")
- return cached value
- if (F.v = G.v) result = MakeNode(F.v, F.lo ∩ G.lo, F.hi ∩ G.hi)
- if (F.v > G.v) result = F ∩ G.lo
- if (F.v < G.v) result = F.lo ∩ G
- cache result as "F ∩ G"
- return result
Add Comment
Please, Sign In to add comment