mirror of
https://github.com/blindlobstar/go-interview-problems
synced 2025-04-28 12:45:19 +00:00
27 lines
852 B
Markdown
27 lines
852 B
Markdown
# Equivalent Binary Trees
|
|
|
|
1. Implement the Walk function.
|
|
2. Test the Walk function.
|
|
|
|
The function `tree.New(k)` constructs a randomly-structured (but always sorted) binary tree holding the values `k`, `2k`, `3k`, ..., 10k.
|
|
|
|
Create a new channel `ch` and kick off the walker:
|
|
```go
|
|
go Walk(tree.New(1), ch)
|
|
```
|
|
Then read and print 10 values from the channel. It should be the numbers 1, 2, 3, ..., 10.
|
|
|
|
3. Implement the `Same` function using `Walk` to determine whether `t1` and `t2` store the same values.
|
|
|
|
4. Test the `Same` function.
|
|
|
|
`Same(tree.New(1), tree.New(1))` should return true, and `Same(tree.New(1), tree.New(2))` should return false.
|
|
|
|
The documentation for `Tree` can be found [here](https://pkg.go.dev/golang.org/x/tour/tree?utm_source=godoc#Tree).
|
|
|
|
## Tags
|
|
`Concurrency`
|
|
|
|
## Source
|
|
- [A Tour of Go](https://go.dev/tour/concurrency/8)
|