今天主要学习了树的基本概念以及堆的实现。
树具有链式存储和顺序存储,但是一般不推荐顺序存储,几乎都是链式存储。
二叉树:
特点:度最大为2;并且具有左右树之分不能颠倒次序。
n0=n2+1;
n1最多为一个,
左孩子为2i+1;
右孩子为2i+2;
父亲节点为(i-1)/2;
堆
堆为完全二叉树,用顺序结构存储,
特点:堆中某个节点的关键值总是不大于或不小于其父亲节点的值。
堆总是一个完全二叉树,
堆的实现 :需要使用向下调整算法,向下调整算法前提是子树都为大堆或小堆,所以需由第一个非叶子节点开始调整。