C++
晴天stick
这个作者很懒,什么都没留下…
展开
-
机器学习实战之逻辑回归(C++复现)
#ifndef LOGISTIC_H_#define LOGISTIC_H_#include<string>#include<opencv2/opencv.hpp>using cv::Mat;using std::string;void loadDataSet(string filePath, Mat& data, Mat& label);//...原创 2020-01-31 19:36:09 · 411 阅读 · 0 评论 -
机器学习实战之朴素贝叶斯估计(C++实现)
当前任务为文本分类//naiveBayes.h#ifndef NAIVEBAYES_H_#define NAIVEBAYES_H_#include<vector>#include<string>#include<set>#include<opencv2/opencv.hpp>using cv::Mat;using std::vec...原创 2020-01-28 20:53:02 · 1765 阅读 · 0 评论 -
机器学习实战之决策树(C++复现)
该方法为决策树ID3算法,针对 string 类型//decisiongTree.h#ifndef DECISIONTREE_H_#define DECISIONTREE_H_#include<string>#include<vector>#include<map>using std::string;using std::vector;usi...原创 2020-01-23 22:32:46 · 835 阅读 · 0 评论 -
机器学习实战之knn(C++复现)
//knn.h#ifndef KNN_H_ #define KNN_H_ #include<opencv2/opencv.hpp>#include<string>using cv::Mat;using std::string;class knn{public: knn(string path = " "); int classify0(Mat inX,...原创 2020-01-21 13:01:58 · 364 阅读 · 0 评论 -
STL关联容器
关联容器有以下四种:set、multiset、map、multimap,关联容器内的元素是排序的,关联容器中的元素是从小到大排序(或按关键字从小到大排序)。关联容器带有模板参数 Key 和 Compare,这两个参数分别表示用来对内容进行排序的键类型和用于对键值进行比较的函数对象(被称为比较对象)。对于 set 和 multiset 容器,存储的键就是存储的值,都在头文件 set 中定义,两者区别...原创 2020-01-12 16:59:45 · 148 阅读 · 0 评论 -
openMP 并行库
最近项目需要优化一下运行速度,决定使用并行方式加速,由于 openMP 简单好用,决定学习一下并记录方便后续的学习1.配置使用的是VS2013,配置只需要两步:1.新建工程2.点击 菜单栏->项目->属性,弹出菜单里,点击 配置属性->C/C+±>语言->OpenMP Support,在下拉菜单里选择Yes。2.基础openMP 中,最主要的是编译指导语句...原创 2020-01-11 15:40:38 · 1452 阅读 · 0 评论 -
vector中数据类型为指针时的内存释放
vector中数据类型为指针时,需要将内部指针释放,否则会造成内存的泄露,释放的方式有两种:方法1vector<int*>A.........while (!A.empty()) { INT* p = A.back(); delete p; p = NULL; A.pop_back(); }方法2vector<int*>A............原创 2020-01-03 15:14:33 · 3103 阅读 · 1 评论 -
STL顺序容器vector、deque、list、forward_list和array
1.可变长动态数组 vectorvector 支持随机访问迭代器,所有 STL 算法都能对 vector 进行操作,使用 vector,需要包含头文件vectorvector 容器中,根据下标随机访问某个元素的时间是常数,假设a是某个vector类型的对象,可以用a[n]或者a.at(n)访问随机位置。在尾部添加一个元素的时间大多数情况下也是常数,在遇到空间不足需要重新分配内存空间时,把原有...原创 2019-12-18 20:05:17 · 260 阅读 · 0 评论 -
STL容器简介以及迭代器介绍
容器(container)是用于存放数据的类模板。在使用容器时,即将容器类模板实例化为容器类时,会指明容器中存放的元素是什么类型的。在容器中,可以存放基本类型的变量,也可以存放对象, 而对象或基本类型的变量被插入容器中时,实际插入的是对象或变量的一个复制品。容器分为两大类,顺序容器和关联容器。顺序容器有以下三种:可变长动态数组 vector、双端队列 deque、双向链表 list。之所以被称...原创 2019-12-17 22:22:40 · 204 阅读 · 0 评论 -
二叉搜索树性质、查找、最大最小值、前驱后继和插入删除
1.二叉搜索树定义二叉搜索树是以一颗二叉树来组织的,如下图所示。每个结点不仅包含数据,还包含分别指向左右孩子以及父结点的指针。若某个孩子结点或者父结点不存在,则相应的指针置为NULL。根结点是唯一父指针为NULL的节点。由于二叉搜索树不一定是满二叉树,所以不能用数组来储存,一般以链表的形式存储。2.性质:1.若结点的左子树不空,则左子树上所有的结点的值均小于该结点;2.若结点的右子树不空...原创 2019-11-13 16:30:09 · 754 阅读 · 0 评论 -
动态规划和贪心算法
动态规划动态规划:通过组合子问题的解来求解原问题,常用来求解最优化问题。常用来解决以下几类问题,但不是说遇到类似问题必须用动态规划来解决,可以往这方面去想:1.计数问题,如有多少种方式走到右下角,有多少种方法选出k个数使得和是sum;2.求最大最小值,如从左上角走到右下角路径的最大数字和3.求存在性,如取石头游戏,先手能否必胜,如能不能选出k个数使得和是sum动态规划问题的四个解决步骤:...原创 2019-11-05 20:25:34 · 266 阅读 · 0 评论 -
C++作用域、自动变量、静态持续变量汇总
这一部分内容容易忘记、弄混,所以在这里记录一下。1.作用域作用域描述了名称在文件的多大范围可见。1)作用域为局部的变量只能在定义它的代码块中可见,代码块是由花括号括起的一系列语句。2)作用域为全局的变量在定位位置到文件结尾之间都可以用,自动变量(函数定义中声明的变量,包括函数参数)的作用域为局部的,静态变量的作用域可能为全局可能为局部,至于什么是静态变量在后文中详解。3)在函数原型作用域...原创 2019-10-17 15:15:56 · 398 阅读 · 0 评论