最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python入門之算法學習

 更新時間:2021年04月22日 15:36:57   作者:321yu  
這篇文章主要介紹了python入門之算法學習,文中介紹的非常詳細,對想要入門python的小伙伴們有很好地幫助,需要的朋友可以參考下

前言

參考學習書籍:《算法圖解》[美]Aditya Bhargava,袁國忠(譯)北京人民郵電出版社,2017

二分查找 binary_search

實現二分查找的python代碼如下:

def binary_search(list, item):
    low = 0 #最低位索引位置為0
    high = len(list)- 1 #最高位索引位置為總長度-1
    while low <= high: 
        mid = (low + high)//2 #檢查中間的元素,書上是一條斜杠,我試過加兩條斜杠才行
        guess = list[mid]#python自動圓整
        if guess == item:  #找到了元素
            return mid
        if guess > item:  #猜的數字大了,就修改high
            high = mid - 1
        else:            #猜的數字小了,就修改low
            low = mid + 1
    return None   #沒有指定的元素

測試代碼:

>>> if __name__ == "__main__":#我試過加上好用
	 my_list=[1,3,5,7,9]
	 print (binary_search(my_list,3))#把binary_search也加上括號

	 
1#表示3的索引位置為1
>>> if __name__ == "__main__":
	 my_list=[1,3,5,7,9]
	 print (binary_search(my_list,0))

	 
None#表示0不在列表中

選擇排序 selectionSort()

實現選擇排序的python代碼如下:

def findSmallest(arr):
    smallest = arr[0] 
    smallest_index =0
    for i in range(1,len(arr)):
        if arr[i] < smallest:
            smallest = arr[i]
            smallest_index= i
    return smallest_index

def selectionSort(arr):
    newArr = []
    for i in range(len(arr)):
        smallest = findSmallest(arr)
        newArr.append(arr.pop(smallest))  
    return newArr

測試代碼:

#樣式1,把selcetionSort()作為新的值給arr,打印arr
>>> number=[5,3,6,2,10]
>>> arr=selectionSort(number)
>>> arr
[2, 3, 5, 6, 10]
#樣式2,加上if __name__ == '__main__':(我也不知道啥作用)
>>> if __name__ == '__main__':
	number=[5,3,6,2,10]
	print(selectionSort(number))

	
[2, 3, 5, 6, 10]
#樣式3,直接輸出,最簡潔
>>> number=[5,3,6,2,10]
>>> print(selectionSort(number))
[2, 3, 5, 6, 10]

到此這篇關于python入門之算法學習的文章就介紹到這了,更多相關python算法內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python+openCV調用攝像頭拍攝和處理圖片的實現

    python+openCV調用攝像頭拍攝和處理圖片的實現

    這篇文章主要介紹了python+openCV調用攝像頭拍攝和處理圖片的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python中的time模塊和calendar模塊

    Python中的time模塊和calendar模塊

    這篇文章主要介紹了Python中的time模塊和calendar模塊,在Python中對時間和日期的處理方式有很多,其中轉換日期是最常見的一個功能。Python中的時間間隔是以秒為單位的浮點小數。下面來看看文章具體內容的介紹,需要的朋友可以參考一下,希望對你有所幫助
    2021-11-11
  • Python中使用tkFileDialog實現文件選擇、保存和路徑選擇

    Python中使用tkFileDialog實現文件選擇、保存和路徑選擇

    這篇文章主要介紹了Python中使用tkFileDialog實現文件選擇、保存和路徑選擇,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 有關pycharm登錄github時有的時候會報錯connection reset的問題

    有關pycharm登錄github時有的時候會報錯connection reset的問題

    這篇文章主要介紹了有關pycharm登錄github時有的時候會報錯connection reset的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • 簡單了解Python生成器是什么

    簡單了解Python生成器是什么

    這篇文章主要介紹了簡單了解Python生成器是什么,生成器就是一個在行為上和迭代器非常類似的對象,如果把迭代器比作 Android 系統,那么生成器就是 iOS,二者功能上差不多,但是生成器更優(yōu)雅,需要的朋友可以參考下
    2019-07-07
  • Python Tkinter Menu組件詳解

    Python Tkinter Menu組件詳解

    這篇文章主要介紹了Python TkinterMenu 組件用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-10-10
  • 在matplotlib中改變figure的布局和大小實例

    在matplotlib中改變figure的布局和大小實例

    這篇文章主要介紹了在matplotlib中改變figure的布局和大小實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • pytorch載入預訓練模型后,實現訓練指定層

    pytorch載入預訓練模型后,實現訓練指定層

    今天小編就為大家分享一篇pytorch載入預訓練模型后,實現訓練指定層,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Pyqt5設置返回鍵和跳轉頁面鍵的示例代碼

    Pyqt5設置返回鍵和跳轉頁面鍵的示例代碼

    這篇文章主要介紹了Pyqt5設置返回鍵和跳轉頁面鍵的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Python邊緣檢測之prewitt,sobel和laplace算子詳解

    Python邊緣檢測之prewitt,sobel和laplace算子詳解

    這篇文章主要為大家詳細介紹了Python邊緣檢測中prewitt、sobel和laplace算子的使用方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2023-04-04

最新評論

鹤庆县| 沿河| 壤塘县| 虞城县| 滦平县| 东丰县| 浏阳市| 夹江县| 新泰市| 宜丰县| 台北市| 尉犁县| 曲阜市| 车险| 宜宾市| 莒南县| 磐安县| 吉隆县| 瑞安市| 离岛区| 上饶市| 个旧市| 鹰潭市| 仁寿县| 沿河| 长宁县| 芷江| 芦溪县| 永善县| 青海省| 霍州市| 建昌县| 抚顺市| 杭州市| 大同县| 万荣县| 扬中市| 农安县| 临洮县| 新密市| 洛阳市|