Testing Binary Tree Construction Algorithm in hello-algo
This test suite validates the binary tree construction algorithm that builds a tree from preorder and inorder traversal arrays. It demonstrates the implementation of a divide-and-conquer approach in Go for tree reconstruction, with comprehensive test cases to verify correct tree structure formation.
Test Coverage Overview
Implementation Analysis
Technical Details
Best Practices Demonstrated
krahets/hello-algo
codes/go/chapter_divide_and_conquer/build_tree_test.go
// File: build_tree_test.go
// Created Time: 2023-07-20
// Author: hongyun-robot ([email protected])
package chapter_divide_and_conquer
import (
"fmt"
"testing"
. "github.com/krahets/hello-algo/pkg"
)
func TestBuildTree(t *testing.T) {
preorder := []int{3, 9, 2, 1, 7}
inorder := []int{9, 3, 1, 2, 7}
fmt.Print("前序遍历 = ")
PrintSlice(preorder)
fmt.Print("中序遍历 = ")
PrintSlice(inorder)
root := buildTree(preorder, inorder)
fmt.Println("构建的二叉树为:")
PrintTree(root)
}