算法图解Python
TinyWu369
无他,惟手熟尔
展开
-
选择排序
2.选择排序 第一次需要检查n个元素,但后检查的元素数依次为n-1,n-2,…,2和1。平均每次检查的元素数为1/2 X n,因此运行时间为O(n X 1/2 X n)。但大O表示法省略诸如1/2这样的常数,因此简单地写作O(n X n)或O(n^2)。选择排序是一种灵巧的算法,但其速度不是很快。 def findSmallest(my_list): smallest = my_list[...原创 2018-10-06 11:10:15 · 224 阅读 · 0 评论 -
递归和快速
3.递归 编写递归函数时,必须告诉它何时停止递归。正因为如此,每个递归函数都有两部分:基线条件(base case)和递归条件(recursive case)。递归条件指的是函数调用自己,而基线条件则指的是函数不再调用自己,从而避免形成无限循环。 def countdown(i): print(i) if i <= 0: #基线条件 return ...原创 2018-10-08 21:47:31 · 196 阅读 · 0 评论