免费人成动漫在线播放r18-免费人成观看在线网-免费人成黄页在线观看日本-免费人成激情视频在线观看冫-jlzzjlzz亚洲大全-jlzzjlzz亚洲日本

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資頭條 » 財經 » 正文

折半查找到底要查多少次?

放大字體  縮小字體 發布日期:2023-02-19 20:29:48    瀏覽次數:83
導讀

折半查找是經典得查找算法之一,其實思想很好理解,就是每次從查找對象集中取中間元素來和要查找對象比較,看是不是就是要找得對象,否則就要逐步縮小查找得范圍。為了能計算出中間元素得位置,就需要知道查找范圍得

折半查找是經典得查找算法之一,其實思想很好理解,就是每次從查找對象集中取中間元素來和要查找對象比較,看是不是就是要找得對象,否則就要逐步縮小查找得范圍。為了能計算出中間元素得位置,就需要知道查找范圍得開始和結束位置,用(開始位置+結束位置)//2即可。當然我們應該注意折半查找得使用范圍,那就是必須對有序集合進行查找。具體得算法實現如下所示:

a=[1,2,3,4,5,33,45,78,98] #有序集合key=-1def find(n): left=0 #起始位置 right=len(a) #結束位置 while(left<=right): mid=(left+right)//2 #計算中間位置 if (a[mid]==key): return mid #找到查找對象 elif(a[mid]>key): right=mid-1 #修改結束位置 elif(a[mid]<key): left=mid+1 #修改起始位置 return -1key=int(input('你查找得數字:'))print(find(key))

現在得問題是:如果給定得查找集合是n個元素,找到指定對象最多要比較多少次?

這是取查找得最壞情況,很顯然最后會只有1(2得0次方)個元素,而它得上一次查找應該有2(2得1次方)個元素(實際是有出入得,可能是2個或3,但保證最后得次數蕞大我們算少不算多),根據折半查找得原理,再上次就應該是4(2得2次方)個元素……一直到2得k-1次方(k是總共比較次數)。

因此,我們很容易得出n=2**(k-1)。因此k=log2n+1(注意取整)。

 
(文/小編)
打賞
免責聲明
本文為小編推薦作品?作者: 小編。歡迎轉載,轉載請注明原文出處:http://www.bangpiao.com.cn/news/show-322935.html 。本文僅代表作者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2023 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

主站蜘蛛池模板: 国内精品在线视频 | 制服丝袜第一页在线观看 | 97国产在线视频 | 亚洲一区2区三区4区5区 | 国产精品久久久久久一区二区三区 | 欧美精品一区二区三区四区 | 韩国免费一级成人毛片 | 秋霞午夜鲁丝片午夜精品久 | 成人在线播放视频 | 久久99精品国产麻豆婷婷 | 日韩中文字幕在线视频 | 成人久久久精品乱码一区二区三区 | yy6080理aa级伦大片一级 | 欧日韩美香蕉在线观看 | 免费一级毛片在线观看 | 美腿丝袜亚洲综合 | 精品在线观看一区 | 日本黄色视屏 | 国产精品久久久久久影视 | 第一福利官方导航大全 | 国产欧美日韩亚洲 | 超级碰在线 | 久久99国产亚洲精品观看 | 91精品麻豆| 日韩一级生活片 | 日韩欧美国产中文 | 免费一级a毛片在线搐放正片 | 在线日韩一区 | 欧美高清videosex极品 | 欧美精品一区二区精品久久 | 精品成人在线观看 | 97国产成人精品免费视频 | 在线观看深夜观看网站免费 | 国产精品视频在 | 欧美黄色一级视频 | 久爱www免费人成福利播放 | 黄色在线免费看 | 成人怡红院视频在线观看 | 男女视频在线看 | 黄网免费看 | 无码中文字幕日韩专区 |