高级二叉树
_从未止步
just do IT
展开
-
二叉搜索树
之前看数据结构书的时候总喜欢跳过二叉树后面的部分(平衡二叉树),有点不敢去面对它(之前看着就犯困)!但是逃避总不是办法吧!所以我决定去挑战一下这部分,也挑着一下自己吧,我决定去摸索一下二叉树后面的复杂部分,那么今天先来探讨一下二叉搜索树吧! 二叉树是一个应用的很广的数据结构,但是实际用到的却不是简单的二叉树。想一想,一颗普通的二叉树能干啥,好像除了练习一下没什么很大的用处,所以我们一原创 2016-06-04 16:12:46 · 435 阅读 · 0 评论 -
AVL树
这两天研究了一下AVL树,所以准备浅谈一下AVL树。记得上次的博客中说到了二叉所搜树,也说到了他还说一种有欠缺的二叉树,当输入单调递增或单调递减的数据后,他会退化成链表,这样会严重影响效率,所以AVL树就被引出来了,下面就开始简单介绍AVL树吧。 首先AVL树是一种严格的平衡二叉树,他要求所有节点所在的二叉树都满足一个条件:平衡因子不大于2,搜索二叉树也就接近满二叉树了,这个时候搜索原创 2016-06-11 23:32:36 · 608 阅读 · 0 评论 -
红黑树--(下)
上次博客中主要说了红黑树的插入,遍历,判断是否合法等方法,当时对红黑树的删除操作还没有研究好,所以这些天一直在研究红黑树的删除操作。经过几天的反复画图,调试,搜集资料,终于实现了红黑树的删除操作。 这里先说明的是,我实现的是不带哨兵位的红黑树(这个哨兵位其实是STL中红黑树中实现的一个特殊节点,主要是用来实现迭代器的,这里就不多多说明),总之我的红黑树没有多余的节点。 我们都知原创 2016-07-09 13:24:42 · 1320 阅读 · 0 评论 -
红黑树--(上)
红黑树是应用的最多的二叉树之一,包括STL中的map和set,以及Linux的内核等等都使用到了红黑树。今天花了一下午的时间实现了红黑树的一些功能,主要是插入节点的情况分析(删除节点还在研究)。 首先红黑树的性质比较重要,这里就简单的说一下吧! 性质1. 节点是红色或黑色。 性质2. 根节点是黑色。 性质3. 每个叶节点是黑色的。原创 2016-07-04 20:46:29 · 678 阅读 · 0 评论