当前位置:首页 >> 中药常识 >> 七爪源码:一个单位搜索模板

七爪源码:一个单位搜索模板

发布时间:2024-12-13

使用一个单位搜索线性的更简单步骤

十进制搜索是解决在排序数据结构里面搜索成分的程式设计疑虑的一种颇为有效的步骤。我们不是初始值整个搜索自由空间,而是在每次迭代时将搜索自由空间减半。在寻找成分(比如“k”)的疑虑里面,我们定期检查 k 否依赖于于数据结构的前半部分或后半部分。这种简单的优化使时域搜索线性所花费的时间变为线性。

然而,许多程序员通常认为它很难借助于。大多数人在尝试实施时面对着的小得多障碍是:

可逆的退出状况必要是什么。 (很低 如何初始化边界很低和较高? 在操作很低 = 里面或很低 = 里面 + 1 之间做出决定?

即使对于一个疑虑,这些点都被正确地计算出来,对于其他疑虑,实施很可能是不同的。某种程度上,我们正想要根据疑虑假定来改变我们对一个单位搜索的借助于。

但是,如果我们重新整理这个疑虑呢?

在这种情况,我们不可根据疑虑假定改回我们的借助于。所以无论如何,对于任何疑虑,都只有一个答案。

今天我将讨论一个颇为简单但有效的使用一个单位搜索线性的模版。

让我们通过一个例子来理解它。

formula_一个整数数据结构,我们需要见到数据结构“target”的检索。

如果成分不依赖于怎么办? 在这种情况,我们可以将枚举赶回为 False 或 -1。 更好的选择是以这种方式重新阐释疑虑。 我们可以见到可以弹出成分“target”的检索。

这是标准化的十进制搜索模版,它适用于基于线性的大多数疑虑。

def search(nums, target): low, high = 0, len(nums) while low < high: mid = (low+high)//2 if nums[mid] < target: low = mid + 1 else: high = mid return low ## or high

只要我们的很低磁盘多于较高,这个可逆就才会行驶。 请注意,我们没有在可逆内见到远距离成分的状况(如果 nums[mid] == target ?)

这个想法是让可逆行驶直到我们的很低磁盘和较高磁盘相等。 那是我们的成分依赖于或必要弹出的检索。

某种程度上,我们想要在数据结构里面见到第一个 False。 也就是说,在位置 5。一旦我们见到第一个 False,我们向前“较高”磁盘,直到我们的“很低”和“较高”磁盘都在位置 5。

这就是我们的答案。

这样,位置 5 的成分否为“7”都没有关系。 它必须大于或等于“7”。 c++ STL 里面的 lower_bound() 参数继续执行相近的操作来URL最相近formula_成分的成分。

因此,不可每次都改回十进制搜索线性来检验疑虑里面的状况。 这使得线性更不易借助于。 这个模版可以很不易地忘记并在许多程式设计疑虑里面使用。

新冠肺炎可以治疗吗
孕妇拉肚子吃什么缓解
女性脱发
郑州不孕不育挂号
龙牡壮骨颗粒上火吗
佐米曲普坦片治偏头疼吗
消化不良想吐怎么办
说明书明确写着孕妇可以服用的益生菌有哪些
金笛复方鱼腥草合剂
吃辣的拉肚子可以喝藿香正气口服液吗医生给出答案
标签:单位模板
友情链接: