zoukankan      html  css  js  c++  java
  • 课堂实践ASL博客

    实践博客

    二分法查找元素
    • 1.首先定义三个位置min,mid,max
    • 2.每次从所有元素所处位置的中间开始查找(所有元素必须以由小及大顺序排列完毕)
    • 3.当中间元素大于所查找元素时,从中间元素(mid)左半区进行查找,此时max元素由最大值变为mid左侧紧邻的那个元素,min元素不变。
    • 4.当中间元素小于所查找元素时,从中间元素(mid)右半区进行查找,此时max位置不变,min元素由最小元素变为mid元素的紧邻的右侧元素,max元素不变
    • 5.当所查元素与mid元素相等时,查找结束。
    • 6.当未查找到时,重复3、4步骤,直至查找到所需元素。
    ASL分析
    • ASL,Average Search Length,是查找算法的查找成功时的平均查找长度的缩写,是为确定记录在查找表中的位置,需和给定值进行比较的关键字个数的期望值。
    • 二分法的ASL
    1 2 3 4 5 6 7 8 9 10 11
    05 13 19 21 37 56 64 75 80 88 92
    3 4 2 3 4 1 3 4 2 3 4
    • 第一行为索引,第二行为元素,第三行为查找到该元素所需要的次数。
    • 所以该元素集合的ASL=(1+2 * 2 + 3 * 4 + 4 * 4)/11=3

    时间算法复杂度分析

    • 二分法每次可以排除一半不符合要求的元素
    • 对于n个元素
    • 1.第一次剩下n/2
    • 2.第二次剩下n/4
    • 3.n次剩下n/(2^m)
    • 所以,时间复杂度为log₂(n)
    • 补充,对于第一个,第二个数即05,13元素,他们的搜寻次数为3和4.这取决于其具体的代码实现,不同的比较顺序可以带来不同的搜寻次数,例如,先从远离最后一次中间元素开始,那么05为3次,从靠近最后一次中间元素开始,05就会变为4次。
  • 相关阅读:
    maven部署tomcat项目,403错误解决
    Android 常见问题收集 (持续更新)
    android 图片进度条
    jquery 监听radio选中,取值
    [转] 解决HttpServletResponse输出的中文乱码问题
    国内外最全的asp.net开源项目 (转)
    c# 模拟 网页实现12306登陆、自动刷票、自动抢票完全篇(转)
    C#网页自动登录和提交POST信息的多种方法(转)
    C# 网页自动填表自动登录(转)
    23个.NET开源项目
  • 原文地址:https://www.cnblogs.com/326477465-a/p/9777452.html
Copyright © 2011-2022 走看看