
Algorithm
传统算法学习
奉系坤阀
道阻且长,行则将至
展开
-
快速排序法Python实现
运用递归的思想,选取一个基准值(一般选择数组第0位的元素),分别将小于和大于基准值的剩余的数组成两个数组(less,greater)分别放在基准值的两侧,直到这两个数组(less,greater)元素个数为1时为止,此时排序结束。def quicksort(array): if len(array)<2: return array else: pivot=array[0] less=[i for i in array[1:] if原创 2022-04-26 16:16:41 · 723 阅读 · 0 评论 -
Python递归调用栈
首先先介绍一下栈的概念下面是一个demo:def greet(name): print("hello, " + name + "!") greet2(name) print("getting ready to say bye...") bye()def greet2(name): print("how are you, " + name + "?")def bye(): print("ok bye!")greet("maggie") #调原创 2022-04-26 15:18:33 · 1166 阅读 · 0 评论 -
选择排序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_indexdef se.原创 2022-04-26 14:36:22 · 252 阅读 · 0 评论 -
二分查找Python代码
二分查找准确来讲是指数式的查找,每次都排除一半def binary_search(list,item): """传入两个参数,一个是列表list,一个是要查找的对象""" low=0 high=len(list)-1 while low<=high: #只要范围没有缩小到只包含一个元素,就检查中间的元素 mid=int((low+high)/2) guess=list[mid] if guess==ite原创 2022-04-25 20:38:12 · 287 阅读 · 0 评论