美文网首页
算法之二分查找

算法之二分查找

作者: 凌雲木 | 来源:发表于2019-08-03 10:07 被阅读0次

排序算法

二分查找

用于有序元素列表的查找
性能:

时间复杂度 空间复杂度
O (log n )
  • Python实现:
def binary_search(list, item):
   '''二分查找 
    list:数组列表
    item:要查询的值    
    '''
    num=0
    low_index = 0 
    high_index = len(list)-1
    while low_index <= high_index: 
        num+=1
        mid = (low_index + high_index)//2
        guess = list[mid]
        if guess == item: 
            return "的索引为"+str(mid)+",查询次数为"+str(num)
        if guess > item: 
            high_index = mid - 1
        else: 
            low_index = mid + 1

    return "值在数组中不存在,查询次数为"+str(num) 
  • C#实现
        /// <summary>
        /// 二分查找每个数
        /// </summary>
        /// <returns></returns>
        public static string Binary_search(int[] list, int item)
        {           
            var num = 0;
            var low_index = 0;
            var high_index = list.Length - 1;
            while (low_index <= high_index) 
            {
                num += 1;
                var mid = (low_index + high_index)/2;
                var guess = list[mid];
                if (guess == item)
                {
                    return $"的索引为{mid}查询次数为{num}";
                }
                else if (guess > item)
                {
                    high_index = mid - 1;
                }
                else
                {
                    low_index = mid + 1;
                }
            }
            return $"值在数组中不存在,查询次数为{num}";
        }

相关文章

  • 查找算法之二分查找算法

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其是要求待查表为有序表,且插入删除困难。因此,折半...

  • 查找算法之二分查找

    二分查找也叫折半查找,前提是查找序列是有序的,它是一种效率较高的查找算法,时间复杂度为O(log2n)。常见的电路...

  • 算法之二分查找

    二分查找 二分查找是著名、高效并有应用广泛的查找算法。 二分常规实现 1.循环实现 下面我用python语言实现循...

  • 算法之二分查找

    二分查找 假设要在电话簿中找一个名字以K打头的人,(现在谁还用电话簿!)可以从头开始翻页,直到进入以K打头的部分。...

  • 算法之二分查找

    排序算法 二分查找 用于有序元素列表的查找性能: Python实现: C#实现

  • IOS查找算法之二分查找

    二分查找(Binary Search)算法,也叫折半查找算法。二分查找的思想非常简单,很多非计算机专业的同学很容易...

  • PHP视频教程之PHP有序表查找之二分查找(折半查找)算法

    本篇文章扣丁学堂PHP培训小编带读者们来了解一下PHP有序表查找之二分查找(折半查找)的算法,对PHP开发技术感兴...

  • java算法之二分查找算法

    二分查找又称折半查找,它是一种效率较高的查找方法。、折半查找的算法思想:、将数列按有序化(递增或递减)排列,进行折...

  • 算法

    一.算法基础--算法的特性 二.算法基础--算法的复杂度 三.顺序查找和二分查找 顺序查找 二分查找(前提是有序的...

  • 数据结构与算法系列——二分查找

    二分查找算法的简单介绍 今天我们来学习一下二分查找算法,也叫做折半查找算法。使用二分查找算法的前提是数据需要是有序...

网友评论

      本文标题:算法之二分查找

      本文链接:https://www.haomeiwen.com/subject/tbotrctx.html