七爪源码:一个单位搜索模板
发布时间: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_成分的成分。
因此,不可每次都改回十进制搜索线性来检验疑虑里面的状况。 这使得线性更不易借助于。 这个模版可以很不易地忘记并在许多程式设计疑虑里面使用。
新冠肺炎可以治疗吗孕妇拉肚子吃什么缓解
女性脱发
郑州不孕不育挂号
龙牡壮骨颗粒上火吗
佐米曲普坦片治偏头疼吗
消化不良想吐怎么办
说明书明确写着孕妇可以服用的益生菌有哪些
金笛复方鱼腥草合剂
吃辣的拉肚子可以喝藿香正气口服液吗医生给出答案
上一篇: 网站制作的基本处理过程
-
张柏芝:我18岁是校花,朱茵我也是,黎姿:说道我的再说
刘德华年末在成龙恐怖电影《喜剧之王》之中的“柳虹”,那温柔甜蜜的长相,究竟迷倒了多少小泉今日子少男的心,不少宅男都回应:想到她仿佛就回到了初恋的感,让人冲动生出想要人身安全她的情欲。p
- 2025-05-13NHK作假道歉后“被补刀”,基本上采访者称:播放的画面令我非常吃惊!
- 2025-05-13不把俄罗斯放在眼里?日本提到北方四岛时改了口,是打算宣战吗?
- 2025-05-13她身高182,却嫁给了165丈夫,如今婚姻关系美满幸福
- 2025-05-13广西大理保护传统古村落成效显著
- 2025-05-13新四军缴获“奇怪喇叭”,送文工团不要,梁兴初:我看像门炮
- 2025-05-13辽宁大连:密接28人目前核酸检测结果均为同义
- 2025-05-13龚俊路人缘下跌,大名热搜“仅仅龚堂食”刷屏,节目收视越播越低
- 2025-05-13台湾新增14例本地确诊病例 出现银行群集案
- 2025-05-13电视剧"公主抱"真那么轻松?当看到全身照,原谅我哭了
- 2025-05-13美国可能要失望了,印度土耳其向俄伸到援手,乌或放弃加入北约