9K+ 次观看
搜索算法用于从数据集查找或查找一个或多个元素。这类算法用于从特定数据结构中查找元素。搜索可以是有序的,也可以是无序的。如果数据集中的数据是随机的,则我们需要使用顺序搜索。否则,我们可以使用其他不同的技术来降低复杂度。在本部分中,我们将涵盖 − 二分查找 指数级查找 插值搜索 跳跃搜索 线性搜索 三分搜索
3K+ 次观看
与二分搜索类似,它也会将列表划分为子列表。此过程使用两个中间 mid 值将列表分成三部分。随着列表划分为更多细分,搜索键值所需的时间随之减少。三分搜索技术的时间复杂度时间复杂度: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) ... 阅读更多