![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Robot647
Enjoy coding, keep learning
展开
-
图常见算法-广度优先算法python实现
广度优先算法广度优先搜索:breadth-first search, BFS 该算法用于解决两类问题:1、节点A到节点B是否有路径?2、节点A到节点B的哪条路径最短?算法实现思想:图的建立使用了散列表,双端队列使用了deque,为了避免死循环,需要使用一个列表searched_queue记录已经查找过的数据from collections import dequegraph = {...原创 2020-02-01 15:07:23 · 1424 阅读 · 0 评论 -
快速排序算法python实现
快速排序快速排序是一种递归调用的方法,思想是根据一个基准值,将数组比基准值小的放在左边,比基准值大的放在右边。运用了分而治之的思想,最后将三部份合并即可得到最终的有序数组代码实现:def quickSort(arr):if len(arr) < 2: return arrleftarr = []rightarr = []item = arr[0]for i in ra...原创 2020-02-01 15:02:50 · 1327 阅读 · 0 评论 -
选择排序算法python实现
选择排序原理: 每次选择最小的元素然后添加到新的数组中,再从剩下的数组中继续挑选代码实现:def findSmallItem(arr):small_index = 0small = arr[0]for i in range(1,len(arr)): if arr[i] < small: small = arr[i] small_index ...原创 2020-02-01 14:58:45 · 1278 阅读 · 0 评论 -
二分查找算法python实现
二分查找算法:用于在有序数组中快速查找所需要的值,前提是数组已经排序python代码实现:def binary_search(thelist, item):low = 0high = len(thelist) - 1while low <= high: mid = int((low + high) / 2) if thelist[mid] == item: ...原创 2020-02-01 14:52:16 · 1464 阅读 · 0 评论