1

我创建了一个二叉搜索树,我想让它尽可能高效。添加节点equalsIgnoreCase()时,我将其与 a 进行比较String(以防止重复)。

添加两个节点时,例如:"BOB""bob".

例如:

转换"BOB"为 ASCII = 066 079 066

转换"bob"为 ASCII = 098 111 098

您可以看到"BOB""bob"由于大写字母,两者都有不同的值。

equalsIgnoreCase()无论大小写如何,都会接受这个作为一个条目吗?

这对效率有帮助吗?

4

1 回答 1

2

这很可能会破坏您的二叉树。在“bob”和“BOB”之间按字典顺序排列有许多值(甚至是常见值)。例如:以小写“a”或大写字母“C”或以上开头的任何内容。如果其中任何一个在您的树中,则“BOB”将在该节点处朝一个方向前进(“BOB”<“Dog”),而“bob”将进入另一个方向(“bob”>“Dog”)。这意味着您甚至没有机会比较“bob”和“BOB”。

您可以通过以下任一方式使其工作:

于 2017-12-06T15:36:23.390 回答