在二进制搜索中,我们将数组分成2,然后,我们通过递归使用二进制搜索再次在单个数组内搜索.
现在,如果我使用三元搜索,而不是二进制搜索,搜索会将数组划分为3.我的问题是:
>三元搜索会比二分搜索更快,反之亦然?
>在什么条件下哪个算法会表现得更好?
>性能是否取决于阵列的大小?
最佳答案 从
Wiki’s开始,三元搜索树是三元树,其中节点相对于搜索关键字是有序的.如果搜索键是字符串,则每个节点存储单个字符,并且搜索字符串由一系列二进制搜索组成,每个字符对应于字符串中的每个字符:
在二进制搜索中,您只需比较并获得一半或另一半.
但是,在比较的三元搜索中,如果小于,则得到第1个1/3,否则再次比较,如果小于,则得到第二个1/3,否则得到最后1/3.
在这里阅读更多:
> Why use binary search if there’s ternary search?
> Why binary search instead of triple(3 parts) search ?