二叉树
看完这篇还有亿篇
这个作者很懒,什么都没留下…
展开
-
堆排序
堆排序 HeapSort(a, n)的作用是:对数组a进行升序排序;其中,a是数组,n是数组长度。 HeapSort(a, n)的操作分为两部分:初始化堆 和 交换数据。 MaxHeapDown(a, start, end)是最大堆的向下调整算法。 #include<iostream> using namespace std; void MaxHeapDown(int arr[], int start, int end){ int parent = start; int child = pa原创 2020-10-26 11:58:02 · 148 阅读 · 0 评论 -
二叉树的遍历递归非递归
重点说一下二叉树遍历的非递归实现 创建的二叉树如下: 后序遍历为:5 3 2 4 1 先序遍历为:1 2 5 3 4 逆后序遍历为:1 4 2 3 5 从逆后序遍历与先序遍历的关系中我们可以知道逆后序遍历序列为先序遍历交换左右子树的遍历顺序得到的,所以我们得到了逆后序序列之后然后逆序就可以得到后序遍历的序列了,所以需要两个栈,第一个栈用来存储先序遍历交换左右子树的遍历的中介结果,第二个是存储后序遍历的结果(逆序也就是可以理解为先进后出的意思) 下面是模仿元素进栈与出栈的过程: ① 1节点进栈,在循环中弹出原创 2020-08-25 11:51:48 · 184 阅读 · 0 评论