数据结构
文章平均质量分 50
Freedom小黄
这个作者很懒,什么都没留下…
展开
-
二叉树常见算法总结-基本二叉树
二叉树是最经典的数据结构之一,其结构类型和算法操作也是十分多,今天来做一个总结(今天先不讨论对B树,红黑树那种比较高级的数据结构)。 树结构,一般用节点引用两个子节点作为左右节点。结构代码如下 PS:有些时候也要有个指针指向父节点的,比如剑指offer那里有个题目是寻找中序遍历的时候要你寻找给出的节点在中序遍历的时候下一个节点是什么,这时候就需要了。原创 2016-08-29 16:08:35 · 3332 阅读 · 0 评论 -
BST-搜索二叉树
上篇博客我们讨论了一波二叉树,我们知道了二叉树是树的特例同时其实一定程度上,二叉树也可以完全代表树,但是我们又要开始思考。二叉树进行一次search操作我们要进行O(n)个时间复杂度。这样显然我们是不可以接受的,而今天我们讨论的搜索二叉树其实就是在二叉树上进行条件上的约束,通过这个约束我们可以把查找操作缩减到O(lgN),这个是质的提高。 其实熟悉二叉树算法的同志们都知道这个就是二叉树的高度。那么原创 2016-08-31 23:02:14 · 465 阅读 · 0 评论 -
AVL树常用算法算法
上一次我们讲了BST二叉搜索树的结构,添加一个约束条件。左子树要比右子树小,这样来约束二叉树的性质。但是BST同时也是有一个很大缺陷的,就是有可能出现下图的情况 (图转自:http://www.cnblogs.com/vamei/archive/2013/03/21/2964092.html) 这种情况就是BST彻底退化成一颗二叉树。查找节点的时间还是需要O(n)的时间,这显然是不可以接受的原创 2016-09-02 16:48:47 · 1026 阅读 · 0 评论