Python堆排序和Topk实现
一、树
1)树的基本概念
- 根节点、叶子节点,树的高度(深度),树的度,孩子节点/父节点,子树
- 树是一种数据结构,比如目录结构
- 树是一种可以递归定义的数据结构
- 树是由n个节点组成的集合:如果n=0,这是一颗空树。如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一颗树
2)二叉树
- 二叉树:度不超过2的树
- 每个节点最多有两个孩子节点
- 两个孩子节点被区分为左孩子节点和右孩子节点
3)满二叉树
- 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树
4)完全二叉树
- 叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树
5)二叉树的存储方式
- 链式存储方式
- 顺序存储方式
顺序存储方式如下所示