Approximation for the Path Complexity of Binary Search Tree
The complexity of an algorithm is an important parameter to determine its effi-ciency. They are of different types viz. Time complexity, Space complexity, etc. However, none of them consider the execution path as a complexity measure. Ashok et al, firstly proposed the notion of the Path Complexity of a pro-gram/algorithm, which defined based on the number of execution paths as a function of the input size. However, the notion of path complexity of the pro-gram, cannot apply to the object-oriented environment. Therefore, Anupam et al, has extended the notion of path complexity to the class as follows. The notion of the state of the class is defined based on structural representation (aka state) of the class. The class contains data members and data operations. It considers only those data operations that change the state of the class. The path complexity of the class is defined to be the number of valid input sequences, each of them con-taining valid data operations. Anupam et al, had applied this notion to the class Stack. However, the stack is basic and simple data structures. Therefore, in this research we have used a more complex class to understand the path complexity behavior in the object oriented environment. Binary Search Tree (BST) is one of the well known (and more complex too) data structure, which is useful in sorting, searching, Traffic Engineering and many more applications. We have analyzed the path complexity of the class BST based on the algorithms for insert and delete operations. Additionally, we have modified the delete operation to minimize the path complexity for the class BST.