Algorithm 卡片翻转器分析
我很快就要在数据结构课上考试了。为了做好准备,我正在浏览一些我在网络上发现的基于算法的问题,并遇到了一个我似乎找不到的问题 你走进一个房间,看到一排n张卡片。每个人都有一个号码席 写在上面,i的范围从1到n。然而,最初所有的牌 你的脸朝下。你的目标是找到一个本地最小值:也就是说,一张我想要的卡片Algorithm 卡片翻转器分析,algorithm,Algorithm,我很快就要在数据结构课上考试了。为了做好准备,我正在浏览一些我在网络上发现的基于算法的问题,并遇到了一个我似乎找不到的问题 你走进一个房间,看到一排n张卡片。每个人都有一个号码席 写在上面,i的范围从1到n。然而,最初所有的牌 你的脸朝下。你的目标是找到一个本地最小值:也就是说,一张我想要的卡片 数量小于或等于其邻居,Xi-1>=席二元搜索是走的路。以下是您如何做到这一点的大致示意图: 看看第一个和最后一个元素。如果其中一个是min,则返回它 看看中间的元素。如果是min,则返回它。否则,它的左
数量小于或等于其邻居,Xi-1>=席二元搜索是走的路。以下是您如何做到这一点的大致示意图:
此外,运行时显然是log(n),因为每个步骤都需要固定的时间,我们必须执行log(n)步骤,因为我们每次都将数据减半 如果是在日志时间内,则当您不断选择中心卡,然后根据值将剩余卡向左或向右分割时,建议使用二进制搜索类型的解决方案。这基本上与此问题相同:@narutserewattanawoot正是我要找的,谢谢。