自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 问答 (1)
  • 收藏
  • 关注

原创 【c++/数据结构】红黑树-RBTree

什么叫红黑树?同AVL树一样,红黑树也是近似平衡的二叉搜索树,与AVL树不同的是红黑树没有了平衡因子,但增加了一个枚举变量,来标明结点的颜(RED or BLACK)。因为红黑树可以保证它的最长路劲不超过它最短路径的两倍,所以它近似平衡。红黑树具有以下几点性质: 1. 每个结点都必须具有一种颜色(RED or BLACK)。 2. 根结点为黑色。 3. 如果一个结点为红色,那么它的两个孩

2016-10-30 16:38:40 1270

原创 【c++】AVL树详解

AVL树是又叫平衡二叉搜索树,但是它不是完全平衡,只是近似平衡(高度平衡)。什么叫完全平衡?想象一下完全二叉树。根据名字’二叉搜索树‘,我们可以知道它的一些性质:1. 每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。2. 左子树上所有节点的关键码(key)都小于根节点的关键码(key)。3. 右子树上所有节点的关键码(key)都大于根节点的关键码(key)

2016-10-30 10:50:21 2242 3

原创 【c++】数据结构———堆

堆是一种特殊的数据结构,它通常是一个可以被看做一棵树的数组对象。What?那它到底是一棵树,还是一个数组呢?答案是数组。这个数组以二叉树的形式来维护。注意:这个二叉树必须是完全二叉树堆结构的二叉树存储有两种:      最大堆:每个父亲结点的值都大于孩子结点。       最小堆:每个父亲结点的值都小于孩子结点。顾名思义,这种结构就是可以根节点为最大的/最小的结点。

2016-10-20 09:57:41 4747 1

原创 【c++】二叉树的线索化

什么是二叉树的线索化?或者问什么是线索二叉树?按照某种遍历方式对二叉树进行遍历,可以把二叉树中所有结点排序为一个线性序列。在改序列中,除第一个结点外每个结点有且仅有一个直接前驱结点;除最后一个结点外每一个结点有且仅有一个直接后继结点。这些指向直接前驱结点和指向直接后续结点的指针被称为线索(Thread),加了线索的二叉树称为线索二叉树。以上是搜狗百科的一段文字,反正我是没看太懂。简单点

2016-10-18 16:36:20 4148

原创 【c++】构建一棵简单的二叉树

本文主要讲了如何使用c++来构建一个二叉树类,以及一些功能算法的实现。文中大部分函数的思想都是递归,其中赋值运算符重载有传统写法和现代写法两个版本,层序遍历是非递归,前、中、后序遍历有递归和非递归两个版本。1、构造函数(递归)2、拷贝构造函数(递归)3、析构函数(递归)4、赋值运算符重载(传统/现代)5、前中后序遍历(递归/非递归)6、层序遍历(非递归)7、查找第k层结

2016-10-16 15:58:21 25806 6

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除