Object oriented design with applications
Object oriented design with applications
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Thinking about binary trees in an object-oriented world
SIGCSE '96 Proceedings of the twenty-seventh SIGCSE technical symposium on Computer science education
Design patterns for data structures
SIGCSE '98 Proceedings of the twenty-ninth SIGCSE technical symposium on Computer science education
OO overkill: when simple is better than not
Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education
Hi-index | 0.00 |
By applying object-oriented design to the definition of a binary search tree, Berman and Duvall [1] designed a data structure comprised of three classes: (i) an Emptybst class to model empty binary search trees, (ii) a NonEmptybst class to model non-empty binary search trees, and (iii) a bst base class for common attributes of Emptybst and NonEmptybst objects. That paper noted the problem of inserting new values into such a structure: since insertions occur at an Emptybst object, an Emptybst would have to "turn into" a NonEmptybst; a behavior beyond the capabilities of the classes in most languages.This paper presents three C++ solutions to the insertion problem in their order of development. The first solution uses a procedural programming technique, with the second and third solutions shifting to a more object-oriented approach. This chronology illustrates the author's ongoing battle to shift from procedural to object-oriented thinking.