二叉树的特例

原创 2018年04月17日 16:46:02

二叉树的特例:

1、二叉搜索树:左子结点总是小于或等于根结点,而右子结点总是大于等于根结点。

2、堆:最大堆和最小堆。最大堆中根结点的值最大,最小堆中根结点的值最小。适用于快速找出最大值或者最小值的问题。

3、红黑树:树中的结点定义为红黑两种颜色,并通过规则确保根结点到叶结点的的最长路径的长度不超过最短路径的两倍。红黑树是具有下列着色性质的二叉查找树:

(1)每一个结点或者着成红色,或者着成黑色;

(2)根是黑色的;

(3)如果一个结点是红色的,那么它的子结点必须是黑色的;

(4)从一个结点到一个NULL指针的每一条路径必须包含相同数目的黑色结点。

    推论:红黑树的高度最多是2log(N+1)。因此查找是一个对数操作。C++的STL中,set,multiset,map,multimap等数据结构都是基于红黑树实现的。

类和函数模板特例化

引入原因:编写单一的模板,它能适应大众化,使每种类型都具有相同的功能,但对于某种特定类型,如果要实现其特有的功能,单一模板就无法做到,这时就需要模板特例化。 定义:是对单一模板提供的一个特殊实例,它...
  • wang664626482
  • wang664626482
  • 2016-08-30 20:37:07
  • 1457

C++模板,特例化

我已经制定了一个计划,希望可以定期地在博客上更新文章。我将探讨编译器如何处理模板等这类有意思的事情,并佐以实例。 作为一个编译器开发人员,我倾向于用一些小的例子来显示或者测试编译...
  • linuxheik
  • linuxheik
  • 2013-10-18 16:47:09
  • 1014

C++学习之模板特例化

模板是C++中一个很重要的特性,写一份代码能用于多种数据类型(包括用户自定义类型)。例如,STL的sort()函数可以用于多种数据类型的排序,类stack可以用作多种数据类型的栈。但是,如果我们想对特...
  • lisong694767315
  • lisong694767315
  • 2014-07-23 08:52:12
  • 2475

c++类模板特例化

#include #include using namespace std; template class A { public: A(){cout
  • alphabuilder
  • alphabuilder
  • 2015-01-18 15:27:55
  • 1316

[C++]模版特例化和模版偏特化

函数模版特例化例子://第一个版本;可以比较任意两个类型 template int compare(const &T,const T&); //第二个版本处理字符串字面常量;重载实现 template...
  • m0_37316917
  • m0_37316917
  • 2017-03-21 22:35:29
  • 886

模板类,模板类函数特例化,模板类特例化

今天在看某c++框架源码时,发现模板类里的部分函数可以特例化,感觉很神奇便尝试了下,发现很多平时不会注意的c++细节及知识,写下来分享给大家,以便大家遇到相似问题时可以少踩点坑。 模板类会出现链接问题...
  • aizenggege
  • aizenggege
  • 2017-05-19 19:42:24
  • 474

模板特例化,偏特化

//函数模板通用版 template void fun(T a) { cout
  • u011402017
  • u011402017
  • 2016-10-16 21:00:51
  • 213

模板类特例化,模板函数特例化

template class Test { public:  void out()  {   cout  } private:  T myT; }; 模板类特例化: tem...
  • wangkuiyun
  • wangkuiyun
  • 2014-12-08 17:57:32
  • 1742

模板特例化

一个特例化版本就是模板的一个独立的定义,在其中一个或多个模板参数被指定为特定的类型。定义函数模板特例化 当我们特例化一个函数模板时,必须为原模板中的每个模板参数都提供实参。为了指出我们正在实例化一个...
  • tengyft
  • tengyft
  • 2015-04-29 10:49:57
  • 1056

C++模板,模板具体化,特例化

1.模板重载原则函数同名(重载)时,调用优先级通常为:普通函数 >显式具体化(template specilazation)>显式实例化>一般模版函数 但更一般而言,有两条规则: 1>如果各自函数...
  • Kevin_cc98
  • Kevin_cc98
  • 2017-11-11 22:35:19
  • 134
收藏助手
不良信息举报
您举报文章:二叉树的特例
举报原因:
原因补充:

(最多只允许输入30个字)