139k views
0 votes
Python bst codes
In a list

1 Answer

1 vote

Answer:

Step-by-step explanation:

Here is an example of a binary search tree (BST) implementation in Python using a list:

class BST:

def __init__(self, data):

self.root = [data, [], []]

def insert_left(self, data):

if self.root[1] == []:

self.root[1] = [data, [], []]

else:

t = BST(data)

t.root[1] = self.root[1]

self.root[1] = t.root

def insert_right(self, data):

if self.root[2] == []:

self.root[2] = [data, [], []]

else:

t = BST(data)

t.root[2] = self.root[2]

self.root[2] = t.root

def get_left_child(self):

return self.root[1]

def get_right_child(self):

return self.root[2]

def set_root_val(self, data):

self.root[0] = data

def get_root_val(self):

return self.root[0]

This implementation uses a list to represent the nodes of the tree. Each node contains the data value, and the indices of the left and right child nodes (which are also lists).

To create a BST object, we can use the following code:

python

Copy code

my_bst = BST(5)

my_bst.insert_left(3)

my_bst.insert_right(8)

This creates a BST with a root node of 5, a left child node of 3, and a right child node of 8.

We can access and modify the values of the nodes using the methods get_root_val, set_root_val, get_left_child, and get_right_child. For example:

print(my_bst.get_root_val()) # output: 5

my_bst.set_root_val(7)

print(my_bst.get_root_val()) # output: 7

print(my_bst.get_left_child().get_root_val()) # output: 3

This code sets the root value to 7, and then prints the root value and the value of the left child node. The output should be:

7

3

User Jpaguerre
by
8.0k points