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

Python用于學習重要算法的模塊pygorithm實例淺析

 更新時間:2018年08月16日 10:20:16   作者:DemonHunter211  
這篇文章主要介紹了Python用于學習重要算法的模塊pygorithm,結(jié)合實例形式簡單分析了pygorithm模塊的功能、算法調(diào)用、源碼獲取、時間復雜度計算等相關操作技巧,需要的朋友可以參考下

本文實例講述了Python用于學習重要算法的模塊pygorithm。分享給大家供大家參考,具體如下:

這是一個能夠隨時學習重要算法的Python模塊,純粹是為了教學使用。

特點

  • 易于使用
  • 容易理解的文檔
  • 快速獲取算法的源代碼
  • 隨時獲取時間復雜度

安裝

  • 僅需在終端中執(zhí)行以下命令:
pip3 install pygorithm

*如果你使用的是Python 2.7,請使用pip來安裝。如果存在用戶權(quán)限的限制,你可能需要使用pip install --user pygorithm這個命令來安裝。

  • 或者你可以在這里下載源代碼,然后通過以下命令來安裝:
python setup.py install

快速入門

  • 對列表進行排序
from pygorithm.sorting import bubble_sort
myList = [12, 4, 3, 5, 13, 1, 17, 19, 15]
sortedList = bubble_sort.sort(myList)
print(sortedList)

運行結(jié)果:

[1, 3, 4, 5, 12, 13, 15, 17, 19]

  • 獲取當前所用函數(shù)的源代碼
from pygorithm.sorting import bubble_sort
code = bubble_sort.get_code()
print(code)

運行結(jié)果:

def sort(_list):
    """
    Bubble Sorting algorithm

    :param _list: list of values to sort
    :return: sorted values
    """
    for i in range(len(_list)):
        for j in range(len(_list) - 1, i, -1):
            if _list[j] < _list[j - 1]:
                _list[j], _list[j - 1] = _list[j - 1], _list[j]
    return _list

  • 計算某個算法的時間復雜度
from pygorithm.sorting import bubble_sort
time_complexity = bubble_sort.time_complexities()
print(time_complexity)

運行結(jié)果:

Best Case: O(n), Average Case: O(n ^ 2), Worst Case: O(n ^ 2).

For Improved Bubble Sort:
Best Case: O(n); Average Case: O(n * (n - 1) / 4); Worst Case: O(n ^ 2)

  • 查看模塊中所有有效的函數(shù)。例如,如果你想看看排序模塊中所有的排序方法,可以執(zhí)行以下命令:
>>> from pygorithm.sorting import modules
>>> modules()
['bubble_sort', 'bucket_sort', 'counting_sort', 'heap_sort', 'insertion_sort', 'merge_sort', 'quick_sort', 'selection_sort', 'shell_sort']

測試

執(zhí)行以下命令來運行所有的測試用例:

python3 -m unittest

這將運行tests/目錄下的文件中定義的所有測試用例

更多關于Python相關內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Anaconda(miniconda)入門使用完全指南

    Anaconda(miniconda)入門使用完全指南

    Conda是一個管理版本和Python環(huán)境的工具,它使用起來非常容易,下面這篇文章主要給大家介紹了關于Anaconda(miniconda)入門使用的相關資料,文中介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • TensorFlow實現(xiàn)卷積神經(jīng)網(wǎng)絡

    TensorFlow實現(xiàn)卷積神經(jīng)網(wǎng)絡

    這篇文章主要為大家詳細介紹了TensorFlow實現(xiàn)卷積神經(jīng)網(wǎng)絡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 如何理解Python中包的引入

    如何理解Python中包的引入

    在本篇文章里小編給各位分享的是一篇關于Python中包的引入詳解內(nèi)容,需要的朋友們可以參考學習下。
    2020-05-05
  • python語法學習print中f-string用法示例

    python語法學習print中f-string用法示例

    這篇文章主要為大家介紹了python語法學習print中f-string用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python 線程的五個狀態(tài)

    python 線程的五個狀態(tài)

    這篇文章主要介紹了python 線程的五個狀態(tài),幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-09-09
  • Python時間和字符串轉(zhuǎn)換操作實例分析

    Python時間和字符串轉(zhuǎn)換操作實例分析

    這篇文章主要介紹了Python時間和字符串轉(zhuǎn)換操作,結(jié)合實例形式分析了Python時間的格式化輸出、時間戳轉(zhuǎn)換、datetime轉(zhuǎn)換字符串等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • python numpy格式化打印的實例

    python numpy格式化打印的實例

    今天小編就為大家分享一篇python numpy格式化打印的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Pandas?篩選和刪除目標值所在的行的實現(xiàn)

    Pandas?篩選和刪除目標值所在的行的實現(xiàn)

    本文主要介紹了Pandas篩選和刪除目標值所在的行的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • Python批量操作Excel文件詳解

    Python批量操作Excel文件詳解

    因為博主所在的地方,需要每周整理全校的青年大學習數(shù)據(jù),Excel操作本身不難,但是這種毫無意義的體力勞動做久了就會很無趣,剛好我想起來上學期接觸過Python,想著能不能試一下,取代這種無意義的勞動
    2021-11-11
  • Python利用yield?form實現(xiàn)異步協(xié)程爬蟲

    Python利用yield?form實現(xiàn)異步協(xié)程爬蟲

    這篇文章主要為大家詳細介紹了Python如何利用yield?form實現(xiàn)異步協(xié)程爬蟲。其實這是很古老的用法了,現(xiàn)在大多用的aiohttp庫實現(xiàn),這篇記錄僅僅用做個人的協(xié)程底層實現(xiàn)的學習,希望對大家有所幫助
    2022-11-11

最新評論

八宿县| 遂川县| 从化市| 泸西县| 皮山县| 淮阳县| 南平市| 尉氏县| 崇阳县| 荆门市| 始兴县| 绥棱县| 德钦县| 应城市| 板桥市| 法库县| 新源县| 始兴县| 密云县| 云南省| 金山区| 同江市| 太白县| 鹤壁市| 密山市| 巫溪县| 体育| 金塔县| 易门县| 红安县| 正宁县| 六安市| 清新县| 定州市| 天柱县| 陕西省| 桐城市| 阿拉尔市| 禹州市| 湘潭市| 敦化市|