判断完全二叉树:
完全二叉树,除最后一层外,每一层上的节点树都达到了最大值;在最后一层上只缺少右边的若干节点!
算法思路:
按层次(从上到下,从左到右)遍历二叉树,当遇到一个节点的左子树为空时,则该节点右子树必须为空,且后面遍历的节点左
右子树都必须为空,否则不是完全二叉树。
代码:
bool IsCompleteBTree(BTree* pRoot)
{
if (pRoot =...
分类:
编程语言 时间:
2015-01-12 13:06:28
阅读次数:
475
1:判断是否为平衡二叉树:
//方法1:
int TreeDepth(BTree* pRoot)
{
if (pRoot == NULL)
return 0;
int nLeftDepth = TreeDepth(pRoot->m_pLeft);
int nRightDepth = TreeDepth(pRoot->m_pRight);
return (nLeftD...
分类:
编程语言 时间:
2015-01-07 18:49:54
阅读次数:
202
//叶子节点的个数
/*
(1)如果二叉树为空,返回0
(2)如果二叉树不为空且左右子树为空,返回1
(3)如果二叉树不为空,且左右子树不同时为空,返回左子树中叶子节点个数加上右子树中叶子节点个数
*/
int GetLeafNodeNum(BTree* root)
{
if(root == NULL)
return 0;
if(root->m_pLeft == NUL...
分类:
编程语言 时间:
2015-01-06 15:36:02
阅读次数:
208
//节点的数据结构
class BTree
{
public:
int m_nValue;
BTree* m_nLeft;
BTree* m_nRight;
public:
BTree(int value)
{
m_nValue = value;
}
};
一:求二叉树的节点个数:
/*
求二叉数中的节点个数
递归...
分类:
编程语言 时间:
2015-01-04 12:10:31
阅读次数:
120
键类型:1.主键2.唯一键3.外键索引类型:1. Hash索引2. Ordered索引(BTREE/RTREE)索引的创建:1.主键会创建两个索引:Hash索引和Ordered索引2.唯一键会创建两个索引:Hash索引和Ordered索引3.一般定义的索引只创建Ordered索引主键和唯一键各个索引...
分类:
数据库 时间:
2015-01-04 01:06:20
阅读次数:
308
摘要
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
文章主要内容分为三个部分...
分类:
数据库 时间:
2015-01-01 14:51:44
阅读次数:
432
首先上一下单纯的二叉树插入节点的代码,用的是不返回新根节点的方式: 1 void insertNode(BTree *&root,int data) 2 { 3 if (root == nullptr)//当根节点为NULL时,在根节点上插入 4 { 5 root =...
分类:
其他好文 时间:
2014-12-16 23:53:45
阅读次数:
425
这两天有个很强烈的感觉就是自己在一些特别的情况下还是hold不住,脑子容易放空或者说一下子不知道怎么去分析问题了,比如,问“hash和btree索引的区别”,这很难吗,只要掌握了这两种数据结构稍加分析就能得出答案,结果是一下子不知道从何说起。进入正题吧,这两者有啥区别。
1. hash索引查找数据基本上能一次定位数据,当然有大量碰撞的话性能也会下降。而btree索引就得在节点上挨着查找了,很...
分类:
数据库 时间:
2014-12-16 17:09:40
阅读次数:
237
摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MyS...
分类:
数据库 时间:
2014-12-05 17:09:05
阅读次数:
301
数的构造同插入函数那篇文章的构造。主要增加了查找父节点和删除的函数,同时为了方便删除了插入的函数。获取父节点的函数如下: 1 BTree *getFather(BTree *root,BTree *child) 2 { 3 if (root == child) 4 retur...
分类:
其他好文 时间:
2014-11-28 00:51:27
阅读次数:
233