Python第五次学习知识点总结---集合,内置函数sorted(),复杂数据结构(堆、队列、栈、链表、二叉树、有向图)

我又来啦!前两天学校开了运动会(。ò ∀ ó。)太兴奋了!咱计院拿奖了!嘻嘻(♡˙︶˙♡)我也拿奖了呢✌(̿▀̿ ̿Ĺ̯̿̿▀̿ ̿)✌哈哈哈哈哈哈哈
现在,我们就开始这周的学习吧︿( ̄︶ ̄)︿啦啦啦
在这里插入图片描述

一、集合

集合是无序可变的容器,对象与字典一样,使用一对大括号作为界定符,同一个集合的元素之间不允许重复,集合中每个元素都是唯一的。

1.1、集合的创建与删除

  • 将集合直接赋值给变量即可创建一个集合对象。
  • 可以使用set()函数将列表、元组等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个。
  • 可以使用集合对象的add()方法增加元素。
  • 可以使用集合对象的pop()方法弹出并删除其中一个元素。
  • 可以使用集合对象的remove()方法直接删除指定元素。
  • 可以使用集合对象的clear()方法清空集合删除所有元素。
  • 不再使用某个集合时,可以使用del()命令删除整个集合。

1.2、集合运算

  • Python集合支持交集、并集、差集以及子集测试等运算。

二、内置函数sorted()

  • 内置函数sorted()返回新的列表,并不对原列表做任何修改。
  • sorted()方法还可以对元组、字典排序,并借助于其key参数可以实现更加复杂的排序。

三、复杂数据结构

3.1、堆

  • 堆是一棵二叉树,其中每个父节点的值都小于或等于其所有子节点的值。使用数组或列表来实现堆时,对于所有的k(下标,从零开始)都满足heap[k]<=heap[2*k+1]和heap[k]<=heap[2*k+2],并且整个堆中最小的元素总是位于二叉树的根节点。Python在heapq模块中提供了对堆的支持。另外,当堆中没有元素时,进行heappop()操作将会抛出异常。

3.2、队列

  • 队列的特点是“先进先出”和“后进后出”。Python提供了queuecollections.deque模块支持队列的操作,当然也可以使用Python列表进行二次开发来实现自定义的队列结构。
  • queue模块还提供了“后进先出”队列和优先级队列。

3.3、栈

  • 栈是一种“后进先出”“先进后出”的数据结构,Python列表本身就可以实现栈结构的基本操作。
  • 列表对象的append()方法是在列表尾部追加元素,类似于入栈操作。
  • pop()方法默认是弹出并返回列表的最后一个元素,类似于出栈操作。
  • 当列表为时,若再执行pop()出栈操作,则会抛出一个异常,另外也无法限制大小。

3.4、链表

基本操作

  • 可以在尾部追加节点。
  • 可以在链表中间插入节点。
  • 可以删除节点。
  • 链表为空或删除的元素不存在时会抛出异常,可以对列表进行封装来实现完整的链表操作。

3.5、二叉树

3.5.1、定义

  • 二叉树是一种特殊的树型结构,它的特点是每个结点至多有两棵子树(即二叉树中不存在度大于2的结点),且二叉树的子树有左右之分,其次序不能任意颠倒(有序树)。

3.5.2、重要性质:

  • 在二叉树的第i层上至多有2^(i-1)个结点(i≥1)。
  • 深度为k的二叉树至多2^k-1有个结点(k≥1)。
  • 对任何一棵二叉树,如果其叶子节点数为n0,度为2的结点数为n2,则n0=n2+1
  • 一棵深度为k且有2^k-1个结点的二叉树称为满二叉树
  • 深度为k,结点数为n的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号为1至n的结点一一对应时,称之为完全二叉树

3.6、有向图

  • 有向图由若干节点和边组成,其中每条边都有明确方向,即从一个节点指向另一个节点。若有向图中两个节点之间存在若干条有向边,则表示从起点可以到达终点,认为存在一条路径。

嘻嘻_例题就放在下一次的总结里面吧(小声的哔哔两句,其实就是自己太菜,还没搞出来,嘘 )︿( ̄︶ ̄)︿哈哈哈哈
最后,我这周太开心了!就拿我男神来结尾吧︿( ̄︶ ̄)︿哈哈哈哈
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值