您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:常见算法的python实现

51自学网 2020-10-21 09:28:19
  python
这篇教程常见算法的python实现写得很实用,希望能帮到您。

近日在github上发现一个25000多star的仓库,把各种常见算法用python实现了,而且还有动图演示,非常值得推荐。

仓库地址:github.com/TheAlgorithm

仓库说明

这个仓库用python语言实现了绝大部分算法,主要是用于教学目的,因此效率稍微低于工业界。

内容说明

包含了常见的算法的python实现,如二叉树、排序、查找等等。这些是算法工程师必须掌握的技能。

文件目录

 

动画演示

冒泡排序
桶排序
快速排序

典型代码

(这个是冒泡排序的代码):

from __future__ import print_function

def bubble_sort(collection):
    """Pure implementation of bubble sort algorithm in Python
    :param collection: some mutable ordered collection with heterogeneous
    comparable items inside
    :return: the same collection ordered by ascending
    Examples:
    >>> bubble_sort([0, 5, 3, 2, 2])
    [0, 2, 2, 3, 5]
    >>> bubble_sort([])
    []
    >>> bubble_sort([-2, -5, -45])
    [-45, -5, -2]

    >>> bubble_sort([-23,0,6,-4,34])
    [-23,-4,0,6,34]
"""
    length = len(collection)
    for i in range(length-1):
        swapped = False
        for j in range(length-1-i):
            if collection[j] > collection[j+1]:
                swapped = True
                collection[j], collection[j+1] = collection[j+1], collection[j]
            if not swapped: break # Stop iteration if the collection is sorted.
        return collection

if __name__ == '__main__':
    try:
        raw_input # Python 2
    except NameError:
        raw_input = input # Python 3
    user_input = raw_input('Enter numbers separated by a comma:').strip()
    unsorted = [int(item) for item in user_input.split(',')]
    print(*bubble_sort(unsorted), sep=',')

总结

本文推荐了github上一个25000多star的仓库,把各种常见算法用python实现了,而且还有动图演示,非常值得推荐。

仓库地址:github.com/TheAlgorithm


Ubuntu查看当前文件夹路径
20个算法李小文知乎文章与Github代码汇总
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。