推荐算法第三方python

GitHub 热门:Python 算法大全,Star 超过 2 万

4 月 27 日,github 趋势榜第 3 位是一个用 python 编码实现的算法库,star 数早已达到 26000+

推荐算法第三方python(GitHub 热门:Python 算法大全,Star 超过 2 万)

链接:https://github.com/thealgorithms/python

这个库涵盖了多种算法和数据结构的介绍,比如:

推荐算法第三方python(GitHub 热门:Python 算法大全,Star 超过 2 万)

这个库虽然包括的种类很多,但内容其实分了 2 方面:① 算法的原理简介;② 算法的代码实现;

比如:冒泡算法的 python 实现

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 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=',')
  • 感兴趣的童鞋,请收藏:

    https://github.com/thealgorithms/python

    好了,就给大家介绍到这里吧,希望大家喜欢!

    原文链接:https://blog.51cto.com/14304496/2385783

    标签: