算法
文章平均质量分 82
t1234xy4
这个作者很懒,什么都没留下…
展开
-
二叉排序树——理解与实现
转载请注明出处:http://blog.csdn.net/t1234xy4/article/details/51570916 二叉树的基本操作: 创建:二叉树的创建就是插入一个节点 查找 深度 遍历 删除节点下面我们简单的来分析: 一、插入节点 有递归实现与非递归,个人建议用非递归。插入节点的数量很大,树的深度也很大的时候,使用递归可能导致函数调用的递归栈溢出。总的来说,非递归的健壮原创 2016-06-02 22:59:03 · 337 阅读 · 0 评论 -
二叉树的遍历
二叉树的遍历:二叉树的遍历有递归与非递归之分,使用非递归的遍历在性能上和健壮性上都优于递归。通常能使用非递归的情况下,都不用递归。二叉树的遍历分为 先序、中序、后序遍历,分别实现了各种算法原创 2016-06-03 15:57:04 · 284 阅读 · 0 评论 -
二叉树的遍历之——Morris遍历
二叉树遍历简介前面已经写过一篇关于二叉树的遍历,但看到一个更好的遍历方法:Morris遍历。二叉树的递归遍历:主要是通过函数调用栈从子树返回到父亲节点,非递归的方法是通过额外空间栈来保存子节点返回父亲节点。如果树的深度够高,递归可能造成函数栈溢出。而非递归的需要使用栈,有O(lgn)的空间消耗。Morris遍历是通过时间换空间的方法,时间复杂度为O(n*2),后序时间复杂度约为O(原创 2016-08-31 20:15:55 · 422 阅读 · 1 评论