首先我们要知道升序我们要建小堆,降序建大堆,这与我们的大多人直觉相违背。
因为我们大多数人认为应该将堆顶的数据输出,但如果这样就会导致堆顶出堆以后,堆结构会被破坏,显然我们不能这样。
所有我们反其道而行,每一次将最后一个子叶进行出堆操作。
就不会出现堆结构被破坏了。
再通过数学运算,堆排序的时间复杂度是N*logN;
并且从上往下建堆比从下往上要快。
现在我们要开始学习树的遍历。
树的遍历分三种递归遍历,前,中,后序遍历和一种循环遍历,层序遍历。
、
链式二叉树
此处是为了了解二叉树的结构,故重点不在增删查改,故为了方便期间,搭建好结点的信息以后,我们手动造树。
树个数的遍历
树的叶子的遍历