9000+ 次浏览
搜索算法用于从数据集搜索或查找一个或多个元素。此类算法用于从特定数据结构中查找元素。搜索可以是连续的,也可以不是。如果数据集中的数据是随机的,那么我们需要使用连续搜索。否则,可以使用其他不同技术来降低复杂性。在本节中,我们将介绍 − 二分搜索 指数搜索 插值搜索 跳跃搜索 线性搜索 三分搜索
3000+ 次浏览
如同二分查找,它也将列表分离成子列表。此过程使用两个中间中值将列表分为三部分。由于列表分成了更多子划分,因此它会减少搜索键值的时间。三元搜索技术的复杂度时间复杂度:O(log3 n)空间复杂度:O(1)输入和输出输入:一个已排序的数据列表:12 25 48 52 67 79 88 93 要搜索的键值 52 输出:已在位置找到项目:3算法 ternarySearch(array, start, end, key)输入 -一个已排序的数组、起始和结束位置以及要查找的键值输出 -键值的位置(如果找到的话),否则为错误 ... 阅读更多
4K+ 浏览量
指数搜索也称为加倍或搜索。该机制用来查找搜索键可能存在的位置。如果 L 和 U 是列表的上限和下限,则 L 和 U 都为 2 的幂。对于最后一截,U 是列表的最后一个位置。因此,称为指数。在找到特定范围后,它使用二元搜索技术来查找搜索键的确切位置。指数搜索技术的复杂度最佳情况下时间复杂度:O(1)。O(log2 i) ... 阅读更多