首页 > 其他分享 >二分查找法

二分查找法

时间:2023-11-22 15:02:02浏览次数:27  
标签:二分 16 list height 查找 low var midder

  <script>
        function m(num, list) {

            var low = 0;
            var height = list.length - 1;

            while (low <= height) {
                var midder = parseInt((low + height) / 2)
                if (num == list[midder]) {
                    return midder;
                } else if (num > list[midder]) {
                    low = midder + 1
                } else {
                    height = midder - 1
                }
            }
            return -1;

        }
        var s = m(16, [1, 2, 3, 4, 5, 6, 7, 8,9,10,11,12, 13, 14, 15, 16]);
        console.log(s);
    </script>

 

标签:二分,16,list,height,查找,low,var,midder
From: https://www.cnblogs.com/liu521125/p/17849015.html

相关文章

  • Linux学习记录:文件查找、打包压缩及解压
    1.文件查找echo命令可以查看变量path的值。locate命令可以让用户快速查找到所需要的文件或目录。与locate命令相比,find命令搜索速度较慢,它并不会索引目录,而是对整个目录进行遍历,这会占用很多系统资源。find命令可以按照文件大小、时间、文件属主、属组、文件类型、文件权限查......
  • C语言数据结构_查找并删除单链表中最大值结点并返回值
    代码实现1#include<stdio.h>2#include<stdlib.h>34typedefstructNode//定义一个结构体5{6floatdata;7structNode*next;8}Node;910Node*Chuangzao_LinkedList()//创建一个链表11{12Node*head=NULL;//......
  • Java学习—二分法查找(二)
    BM18 二维数组中的查找描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给......
  • 二分查找图解
    二分查找图解使用二分查找的前提是所给的元素集合必须是单调的。整数二分查找最后一个小于等于q的元素的下标元素存在元素不存在查找第一个大于等于q的元素的下标元素存在元素不存在浮点数二分高效的牛顿法......
  • 二分图最大匹配的必须边和可行边
    以下考虑完备匹配(非完备匹配要用到网络流)给定一张二分图,其最大匹配方案不一定是唯一的。若任何一个最大匹配方案的匹配边都包括\((x,y)\),则称\((x,y)\)为二分图匹配的必须边。若\((x,y)\)至少属于一个最大匹配的方案,则称\((x,y)\)为二分图匹配的可行边以下证明假设我们已经求出......
  • 二分查找
    算法入门第一题   二分查找思路:在一个升序的list中,用中间数(mid)来进行匹配,如果target比中间数大,说明target在list右边,left=mid+1,如果target比中间数小,说明target在list左边,right=mid-1fromtypingimportListclassSolution:defsearch(self,nums:List[int],t......
  • 三种办法遍历对象数组,获取数组对象中所有的属性值(key,value);四种方法查找对象数组里面
    一,获取对象数组中某属性的所有值如果是要获取具体第几个属性的值,倒是可以用arr[i].name的方法来实现。若是全部的属性的值,并返回一个新的数组嘞,思路是加循环遍历方法如下。1、from方法vararr=[{id:1,name:"小明"},{id:2......
  • Java学习—二分法查找(一)
    1、二分查找(binarysearch)二分查找(binarysearch),也称折半搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且......
  • 二分查找
    一、二分查找介绍首先使用二分法的前提是这个数组或者序列是排好序的。对于一个排好序的数组(升序),如果要让我们从中找一个指定的数并输出它的下标,我们可以直接暴力枚举,时间复杂度为O(n),当我们使用二分查找的时候它的时间复杂度为O(logn)二分法的核心思想就是:每次都将查询的范围......
  • C++U4-第05课-二分查找
    上节课作业部分(点击跳转)  引入分治算法概念  二分法分治思想编程题  二分查找能解决的问题不仅仅是找到一个值 题1: 要在一个有序序列中查找一个数,可以使用二分算法。include<iostream>usingnamespacestd;intBinarySearch(inta[],intl,......