Whereas inorder traversal of an N-ary tree is not defined for N>2, inorder traversal is defined for an M-way search tree: By definition, the inorder traversal of a search tree visits all the keys contained in the search tree in order.
Program is an implementation of the algorithm for depth-first traversal of an M-way search tree given in Section . The keys contained in a given node are visited (by calling the Visit member function of the visitor) in between the appropriate subtrees of that node. In addition, the PreVisit function is called for each key contained in a node before traversing any of the subtrees of that node and the PostVisit function is called for each key in the node after all the subtrees have been traversed.
Program: MWayTree Class DepthFirstTraversal Member Function Definition
It is clear that the amount of work done at each node during the course of a depth-first traversal is proportional to the number of keys contained in that node. Therefore, the total running time for the depth-first traversal is , where K is the number of keys contained in the search tree.