Here is the Python code for Binary Search Tree :- Content included:- 1.) Insertion 2.) Search Operation 3.) Deletion 4.) Minimum Node 5.) Maximum Node 6.) Preorder Traversal 7.) InOrder Traversal 8.) PostOrder Traversal class BST: def __init__(self, data): self.root = data self.left = None self.right =None def insertnode(self, data): if self.root is None: self.root = data return if self.root is data: return elif self.root > data: if self.left is not None: self.left.insertnode(data) else: self.left = BST(data) elif self.root data: if self.left is not None: self.left.searchoprn(data) else: print("Data is not present.") elif self.root self.root: if self.right: selfright = self.right.deletenode(data) ...
The Python Code for Queue is here :- class Node: def __init__(self, data): self.data = data self.next = None class Queue: def __init__(self): self.front = self.rear = None def enqueue(self, data): newnode = Node(data) newnode.next = self.rear self.rear = newnode if self.front is None: self.front = newnode def dequeue(self): temp = self.rear while temp.next is not self.front: temp = temp.next self.front = temp temp.next = None def traverse(self): temp = self.rear while temp is not None: print(temp.data, end = " --> ") temp = temp.next print("None") new = Queue() new.enqueue(4) new.enqueue(1) new.enqueue(0) new.enqueue(2) new.traverse() new.dequeue() new.traverse() new.dequeue() new.traverse() 2 --> 0 --> 1 --> 4 --> None 2 --> 0 --> 1 --> None 2 ...