力扣 巩固

如何判断算法复杂度

  1. 确定问题规模 n
  2. 循环减半过程 -- logn
  3. k层关于n的循环 - n
  4. 复杂情况根据算法执行过程判断

判断空间复杂度:评估算法内存占用大小

  1. 算法使用几个变量:O(1)
  2. 算法使用了长度为n的一维列表:O(n)
  3. 算法使用了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学城

天才是百分之一的灵感,加百分之九十九的汗水,但那百分之一的灵感往往比百分之九十九的汗水来的重要
原文地址:https://www.cnblogs.com/Christbao/p/13341919.html