hello-algo/en/codes/go/chapter_tree/binary_tree_test.go

42 lines
770 B
Go

// File: binary_tree_test.go
// Created Time: 2022-11-25
// Author: Reanon (793584285@qq.com)
package chapter_tree
import (
"fmt"
"testing"
. "github.com/krahets/hello-algo/pkg"
)
func TestBinaryTree(t *testing.T) {
/* Initialize binary tree */
// Initialize node
n1 := NewTreeNode(1)
n2 := NewTreeNode(2)
n3 := NewTreeNode(3)
n4 := NewTreeNode(4)
n5 := NewTreeNode(5)
// Construct node references (pointers)
n1.Left = n2
n1.Right = n3
n2.Left = n4
n2.Right = n5
fmt.Println("Initialize binary tree")
PrintTree(n1)
/* Insert and remove nodes */
// Insert node
p := NewTreeNode(0)
n1.Left = p
p.Left = n2
fmt.Println("After inserting node P")
PrintTree(n1)
// Remove node
n1.Left = n2
fmt.Println("After removing node P")
PrintTree(n1)
}