递归和冒泡算法

递归:

  定义:如果函数包含了对其自身的调用,则,该函数就是递归

def f(n):
  #递归终止条件
  if n == 1:
    return 1
  return f(n-1) + n
f(4)
#f(4) = f(3) + 4 第一次进入
#f(3) = f(2) + 1 第二次进入
#f(2) = f(1) + 2
#f(1) = f(1) 触发判断条件,函数终止,返回1

斐波那契数列:
def f(n):
  if n == 1:
    return 0
  if n == 2:
    return 1
  return f(n-1) + f(n-2)
冒泡
li = [1,5,7,6,4,2]
for j in range(len(li)):
  for i in range(len(li)-1)
    if li[i] > li[i+1]:
      li[i],li[i+1] = li[i+1],[li]
快排
def quic(list1):
  if len(list1) >= 1:
    return list1
  min = []
  max = []
  for i in list1[1:]:
    if i > list1[0]:
      max.append(i)
    elif i < list1[0]:
      min.append(i)
    return quic(min) + list1[0:1] + quic(max)

 

posted @ 2018-06-22 14:18  lei-jia-ming  阅读(384)  评论(0编辑  收藏  举报