
C/C++基础知识
Mr.Wang-USTC
主要研究方向,计算机视觉,模式识别与智能系统
展开
-
二叉树常见的几种操作和问题
二叉树的定义:一棵二叉树t是有限个元素对集合(可以为空)。当二叉树非空时,其中一个元素称为根,余下的元素被划分成两棵二叉树,分别称为左子树和右子树。 二叉树的特性: 一棵二叉树有n个元素,他有n-1条边 一棵二叉树的高度为h,他最少有h个元素,最多有个元素,此时称为满二叉树 一棵二叉树有n个元素,他的高度最大为n,最小高度为 二叉树的常见操作: 二叉树的节点结构 template&l...原创 2019-04-05 17:01:42 · 709 阅读 · 0 评论 -
基本算法之回溯法
回溯法是搜索问题解的一种系统方法。回溯法求解首先需要定义一个解空间,这个空间至少包含问题的一个最优解。回溯法的下一步是组织解空间,使空间便于搜索,典型的组织方式是树或者图。 一旦确定了解空间的组织方式,这个空间即可按照深度优先的方式从节点进行搜索。在0-1背包问题中,开始节点为根节点,开始节点为一个活动节点又是一个E-节点。从E-节点试着移动到一个新的节点。如果从当前的E-节点移动到一个新的...原创 2019-04-21 20:30:31 · 723 阅读 · 0 评论 -
解释C++的重载机制
C++允许开发者对同一范围内的某个函数或者运算符给出多种不同的定义,这分别称为函数重载和运算符重载。重载声明是指其名称与同范围内的原有声明相同,而参数和定义有所不同的声明。 调用重载函数或运算符时,编译器会把实际的参数类型与各定义中所指定的形式参数类型进行比较,并选出最为合适的定义。这个用来确定最合适的重载函数或运算符的过程就叫做重载解析。 C++中的函数重载 ...转载 2019-04-17 20:55:43 · 679 阅读 · 0 评论 -
解释C++的智能指针
C++智能指针的理念是用对象将内置的指针包裹起来。这些智能指针要么指向某个对象,要么等于NULL,也就是说,他们总能得到初始化,而且绝对不会指向已经释放的内存。 智能指针如果不是NULL,那么必须指向有效的内存。 智能指针要带有引用计数,而且要将其所指的内存合理地释放掉(这意味着,它能够安全地应对异常,同时又不会发生内存泄漏)。 智能指针用起来应该与内置地指针差不多 ...转载 2019-04-18 21:28:45 · 222 阅读 · 0 评论