Python - 函数、排序、线性数据结构

大学计算机–Python算法实践

李金双李凤云张昱

函数定义

# def 函数名([形参列表]):
#   函数体
def add(a, b):
return a + b

c = add(7.6, 3.9)
print(c)    #11.5

排序

a = [6, 9, 23, 15, 1, 5, 34]
b = sorted(a)  #sorted()函数
a.sort()  #list提供的sort()方法,改变了a
print(a)  #[1, 5, 6, 9, 15, 23, 34]
print(b)  #[1, 5, 6, 9, 15, 23, 34]
b = sorted(a, reverse = True)
a.sort(reverse = True)
print(a)  #[34, 23, 15, 9, 6, 5, 1]
print(b)  #[34, 23, 15, 9, 6, 5, 1]

交换两个数的值

a = 2
b = 9
a, b = b, a  #exchange
print(a, b)  #9 2

线性数据结构

  • 通常直接用列表作为数组

  • 栈也可通过列表实现

    • append()对应入栈操作

    • pop()对应出栈操作

    • s = []
      s.append(2)
      s.append(3)
      print(s)  #[2, 3]
      s.pop()
      print(s)  #[2]
      s.pop()
      print(s)  #[]
  • collections.deque是双向队列,支持任意端添加删除数据

    from collections import deque
    dq = deque()
    dq.append(1)  #尾部添加元素
    dq.append(2)
    print(dq)  #deque([1, 2])
    dq.appendleft(3)  #首部添加元素
    dq.appendleft(4)
    print(dq)  #deque([4, 3, 1, 2])
    print(dq.pop())  #弹出尾部元素 2
    print(dq.popleft())  #弹出首部元素 4
    print(dq)  #deque([3, 1])
    dq.reverse()  #反转
    print(dq)  #deque([1, 3])
    dq.clear()  #清空
    print(dq)  #deque([])

  • 树是节点和边的集合

  • 属非线性结构

  • 对于二叉树,设 i i 度节点的数目为 Ni

    • N0+N1+N2=N N 0 + N 1 + N 2 = N
    • N00+N11+N22=N1 N 0 ⋅ 0 + N 1 ⋅ 1 + N 2 ⋅ 2 = N − 1
  • 三种遍历方式:先序、中序、后序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值