You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.1 KiB

btreedeletenode

Instructions

Write a function, BTreeDeleteNode, that deletes 'node' from the tree given by root.

The resulting tree should still follow the binary search tree rules.

This function must have the following signature.

Expected function

func BTreeDeleteNode(root, node *TreeNode) *TreeNode {
	
}

Usage

Here is a possible program to test your function :

package main

import (
	"fmt"
	student ".."
)

func main() {
	root := &student.TreeNode{Data: "4"}
	student.BTreeInsertData(root, "1")
	student.BTreeInsertData(root, "7")
	student.BTreeInsertData(root, "5")
	node := student.BTreeSearchItem(root, "4")
	fmt.Println("Before delete:")
	student.BTreeApplyInorder(root, fmt.Println)
	root = student.BTreeDeleteNode(root, node)
	fmt.Println("After delete:")
	student.BTreeApplyInorder(root, fmt.Println)
}

And its output :

student@ubuntu:~/student/btreedeletenode$ go build
student@ubuntu:~/student/btreedeletenode$ ./btreedeletenode
Before delete:
1
4
5
7
After delete:
1
5
7
student@ubuntu:~/student/btreedeletenode$