我想声明一个字母BST类,您可以通过Name -strings或char array-存储节点。什么是插入方法的最佳算法,以获得最佳的搜索时间和理想的BST案例。还要提醒的是,名称不是全部都是相同的长度,并且可能以相同的单词开头,在进入BST之前不会对它们进行排序。
插入在平衡二叉搜索树中很快,因此要么实现红黑树或AVL树。如果您愿意,也可以去B树。
接下来,您需要查看存储在BST节点中的内容。在您的情况下,存储string
或char array
。要比较两个键,你已经分别为string
和char array
定义了函数,即string::compare
和strcmp
。
这两件事你只需要做你所要求的,平衡的BST和可比较的节点的数据类型。