创作不易,来了的客官点点关注,收藏,订阅一键三连❤😜
前言
程序=数据结构+算法,算法是数学理论和工程实现的杂糅,是一个十分有趣神奇的学问。搞懂算法用另一种视角看编程,又会是一种全新的感受,如果你也在学习算法,不妨跟主任萌新超差一起学习,拿下算法!
系列文章目录
python每日算法 | 图文结合详解快速排序,手撕快排代码!
python每日算法 | 图文挑战十大排序算法DAY1,再也不用担心面试官问冒泡、选择、插入排序!
python每日算法 | 实现四大查找算法,生动形象,保证一看就会!
概述
本期的内容将介绍十大排序算法之堆排序,通过本期内容你不仅能知道代码堆排序如何用python实现,还将学会使用堆排序模块以及用堆排序解决topk问题等等!再也不用担心面试官问堆排序是什么啦!
目录
超超python每日算法思维导图
堆排序
了解树
树是一种可以递归定义的数据结构,树结构是递归定义的,树是由n个节点组成的集合:
如果n=0,那这是⼀一棵空树;
如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树。
关于树的⼀些概念
根节点:一棵树中,没有双亲结点的结点,例如图中的A
节点的度:一个节点含有的子树的个数称为该节点的度,例如D节点的度为1(H),E节点的度为2(I,J)
树的度:一棵树中,最大的节点的度称为树的度,例如图片中树的度为A节点的6
树的高度或深度:树中节点的最大层次,图片的高度位4
叶子节点或终端节点:度为0的节点称为叶节点;即不能分叉的点,例如B、C、H、I、P等
双亲节点或父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点,E是I的父节点
孩子节点或子节点:一个节点含有的子树的根节点称为该节点的子节点,I是E的孩子节点
节点的层次:从根开始定义起,根为第1层,根的子节点为第2层,以此类推
森林:由m(m>=0)棵互不相交的树的集合称为森林
了解二叉树
二叉树:度不超过2的树,每个节点最多有两个孩子节点,两个孩子节点被区分为左孩子节点和右孩子节点
满二叉树与完全二叉树