日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

二分查找递归与非递归的时间比较_我们说一说Python的查找算法!

發布時間:2023/12/2 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 二分查找递归与非递归的时间比较_我们说一说Python的查找算法! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信大家在面試開發崗和算法崗時,評委最喜歡問的就是:您能給我說一下查找和排序算法有哪些?今天咱們就說一說Python中最常用的查找算法,下期我們再推出排序算法。

首先要明白查找是查什么?我們希望能給定一個值,在待查找的范圍內確認是否存在某一數據與指定值相同,返回該數據的索引。最常用的查找算法主要包括順序查找和二分查找,順序查找就是從待查找的數據中從第一元素開始,逐個將每個元素值與指定查找的值進行對比;如果比較到兩者相同,則查找成功;如果到最后仍未找到,則查找失敗。下面是順序查找代碼:

順序查找_page_1

順序查找_page_2

我們看到,順序查找的優勢就是適合數據量小,不要求數據本身有序,但當數據量較大時,查找效率低。而二分查找是指在有序數據集合中查找數據,默認從小到大排序,找出有序數據中的中間元素,由中間元素將源數據分為左右兩部分。比較中間值與指定查找值的大小:1)如果相等,則查找成功;2)如果指定值比中間值小,則左側繼續重復查找;3)如果指定值比中間值大,則右側繼續重復查找。4)如此遞歸下去,直到成功找到或查找完整個數據集合為止。二分查找我們可以用循環的方式,也可以用遞歸的方式實現,首先是循環的方式:

二分查找(循環)_page_1

二分查找(循環)_page_2

接下來是遞歸模式:

二分查找(遞歸)_page_1

二分查找(遞歸)_page_2

我們看到二分查找的主要優勢是每次查找其搜索范圍減半,但要求數據本身有序。受制于水平的有限,這里基于Python這門語言將順序查找和二分查找進行了簡單的對比,各有優勢。需要交流和切磋的讀者朋友,請在評論區積極留言,歡迎關注頭條號:杜哥說python。

總結

以上是生活随笔為你收集整理的二分查找递归与非递归的时间比较_我们说一说Python的查找算法!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。