如何判断算法复杂度
- 确定问题规模 n
- 循环减半过程 -- logn
- k层关于n的循环 - n
- 复杂情况根据算法执行过程判断
判断空间复杂度:评估算法内存占用大小
- 算法使用几个变量:O(1)
- 算法使用了长度为n的一维列表:O(n)
- 算法使用了m行n列的二维列表:O(mn)
递归:调用自身,结束条件(避免死循环)
def hanoi(n,a,b,c): if n>0: hanoi(n-1,a,c,b) print("moving from %s to %s" %(a,c)) hanoi(n-1,b,a,c) hanoi(6,'A','B','C')
冒泡排序 bubble sort
列表相邻两个数,如果前面比后面大,则交换这两个数。排序后,升序排列。
相关免费课程:路飞IT学城