堆的结构 同二叉查找树类似, 堆也是一种特殊的二叉树: 堆是一颗完全二叉树; 堆的孩子结点都小于或者大于父结点; 所以, 堆可以像一颗完全二叉树一样, 很
C++闭包 在一些现代对高级语言, 比如Python或者JavaScript中, 经常会提到闭包的概念, 但是在C++里面很少会听说闭包的概念. C+
平衡树 不太平衡的二叉树不太平衡的二叉树 " 不太平衡的二叉树 对于一个普通的二叉查找树, 我们可以发现一个问题, 存在一定的可能性, 一般的二叉查找树会
什么是二叉查找树 对一般容器的查找, 我们可以按顺序遍历, 找到符合要求的元素就返回; 对于元素是有序的容器, 可以使用二分查找等方法查找, 减少操作的
遍历二叉树的作用 基于二叉树的结构, 衍生出了二叉查找树/平衡二叉查找树/堆等等结构或算法(这些之后会讲), 学会如何遍历一颗二叉树是学习此类&q
stdarg.h 这里用到的是stdarg.h这个库, 可以在C语言里面实现可变长参数. 当然C++会简单得多, C++11之后的模板原生支持可变长参数. 几个函数
什么是二叉树 二叉树的知识点, 需要有链表的基础知识, 一般二叉树的结构如图示: 二叉树一般二叉树 " 二叉树 二叉树是一种树状结构. 所谓二叉, 就是一个节
单调栈 顾名思义, 单调栈就是其元素单调的栈, 满足两个特性: 是栈 栈元素单调递减(<)或者单调递增(>) 当然, 关于第二点也可以是单调不
什么是栈 栈是一种数据结构, 满足先入后出. 一般栈支持以下几个操作: 1 2 3 4 5 push(n); //数据入栈 a.pop(); //数据出栈 a.top(); //获取栈顶元素 a.size(); //获取栈中元素数
以下的代码片段涉及到了不少的模板函数, 可以自行去官网查询. 前言 从实际问题出发, 期望开发一个函数, 可以计算另外一个函数的耗时; 比如测试下面函数