2019年8月29日

数据结构--堆排序

摘要: 堆是一种特殊的完全二叉树,满足每一个结点的值比左右子树的所有结点都大(大顶堆)/小(小顶堆)。由于是完全二叉树,我们不需要用借助指针来存储树,用一个数组即可。 如 a = [1,2,3,4,5,6]表示的树: a[i] 的左节点为 a[2*i+1],右结点为 a[2*i+2]。所以对一个数组使用堆排 阅读全文

posted @ 2019-08-29 17:56 千山万水楼外楼 阅读(202) 评论(0) 推荐(0) 编辑

数据结构--树的非递归遍历

摘要: 树的递归遍历代码非常简单易懂,但是由于递归会占用非常多的栈空间,因此非递归的遍历树也是必须要掌握的。因此最近仔细分析了很多的代码以及理解了遍历的过程,最后敲一遍并在这里记录一下,以后可以快速回顾。一般来说,递归可以解决的问题也一定可以用栈加循环的方式解决,毕竟递归实质上就是利用了栈嘛。 树从根节点开 阅读全文

posted @ 2019-08-29 17:23 千山万水楼外楼 阅读(1228) 评论(0) 推荐(0) 编辑

导航