自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (1)
  • 收藏
  • 关注

原创 Linux下主线程和子线程的终止次序

Linux下主线程和子线程的终止次序之前在完成一个任务时需要实现主线程和子线程分别处理自己的任务,为了验证子线程的功能正常,需要让主线程在子线程之前结束,同时进程仍在运行。为了实现这种情况,特地了解主线程和子线程终止次序的相关之前。前提知识主线程和子线程之间没有必然的退出次序关系。主线程退出,子线程可以继续执行;子线程退出,主线程也可以继续执行。 程序加载到内存中执行的时候,进程就会生成一个主线程。虽然主线程和子线程之间没有必然的退出次序关系,但是如果进程终止,那么进程下所有的线程都会终止。

2020-07-18 22:21:17 887

原创 C++获取文件夹下的所有文件名

C++获取文件夹下的所有文件名之前导师给了自己一个任务,需要获取一个目录下的所有文件名,所有就查找了相关的操作,并进行总结。对于获取某个目录下的所有文件名,在Linux系统和Window系统中的操作是不同的,下面分别从两个系统进行介绍。1、Windows下获取所有文件名操作 Window下获取所有文件名的操作主要用到了结构体struct_finddata_t,以及函数_findfirst、_findnext和_fineclse,位于头文件<io.h>中。 _findd

2020-07-18 21:05:35 6939

原创 YUV图像格式学习与灰度处理

YUV图像格式学习与灰度处理前言刚入职不久,导师要我完成一个任务,就是将将彩色YUV图像数据处理成黑白色,由于对YUV并不了解,所以才有了下面的学习。YUV概述YUV与RGB一样,都是像素数据的编码格式,一组YUV渲染屏幕上的一个像素,控制屏幕用色彩的形式将事物表现出来,其中Y表示像素中的亮度,U表示色度,V表示浓度或饱和度。它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白色。这是一种压缩后的颜色表示方法,占用更少的物理空间,且对颜色的表现失真不明显,

2020-07-18 10:54:06 6916 3

原创 C++读取图片文件

C++读取图片文件这里主要讲述如何在C++编程中读取图片文件,主要介绍两种方式:一种的是C++风格,主要是采用文件流的方式,另一种是C风格,主要采用FILE类的相关操作。小面分别对两种方式进行介绍。1、文件流读取图片文件主要的步骤:1、打开图片文件; 2、计算图片长度; 3、创建内存缓存区; 4、读取图片。对应的头文件:#include <fstream> 主要用到的函数:1、ifstream.seekg()seekg:设置输入文件流的文件流指针位置

2020-07-18 10:40:54 21663 10

转载 设计模式 - 观察者Observer模式

设计模式概念设计模式简单来说就是在解决某一类问题场景时,有既定的,优秀的代码框架可以直接使用,与我们自己摸索出来的问题解决之道相比较,有以下优点可取:代码更易于维护,代码的可读性,复用性,可移植性,健壮性会更好当软件原有需求有变更或者增加新的需求时,合理的设计模式的应用,能够做到软件设计要求的“开-闭原则”,即对修改关闭,对扩展开放,使软件原有功能修改,新功能扩充非常灵活合理的设计模式的...

2020-03-28 16:56:44 129

转载 何时编译器会自动生成默认构造函数

问题:对c++初学者来说存在一个误区,如果类没有定义任何构造函数,编译器会自动生成默认的构造函数。注意:这种说法是错误的。正确的说法:惟有默认构造函数”被需要“的时候编译器才会合成默认构造函数。那什么情况下是“被需要”的时候?以下有四种情况编译器会自动合成默认构造函数情况1含有类对象数据成员,该类对象类型有默认构造函数即:一个class含有类对象数据成员,该类对象类型...

2019-11-17 15:38:04 783 1

转载 C/C++ 引用作为函数的返回值

语法:类型 &函数名(形参列表){ 函数体 }特别注意:1.引用作为函数的返回值时,必须在定义函数时在函数名前将&2.用引用作函数的返回值的最大的好处是在内存中不产生返回值的副本#include<iostream>using namespace std;float temp;float fn1(float r){temp=r*r*3....

2019-10-31 11:52:19 189

转载 C++中typename关键字的使用方法和注意事项

起因近日,看到这样一行代码:typedef typename __type_traits<T>::has_trivial_destructor trivial_destructor;虽说已经有多年C++经验,但上面这短短一行代码却看得我头皮发麻。看起来它应该是定义一个类型别名,但是typedef不应该是像这样使用么,typedef+原类型名+新类型名:typede...

2019-10-31 11:18:58 416

原创 C++ trivial和non-trivial构造函数及POD类型

1、什么是trivial destructor和non-trivial destructor 如果用户不定义析构函数,而是用系统自带的,则说明,析构函数基本没有什么用(但默认会被调用)我们称之为trivial destructor。反之,如果特定定义了析构函数,则说明需要在释放空间之前做一些事情,则这个析构函数称为non-trivial destructor。 ...

2019-10-30 09:54:47 786

转载 C++中的new、operator new与placement new

1、C++中的new/delete与operator new/operator delete new operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。 new operator (1)调用operator new分配足够的空间,并调用相关对象的构造函数 ...

2019-10-29 20:31:24 134

转载 在浏览器中输入 网址 后执行的全部过程

参考http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/http://www.cnblogs.com/wenanry/archive/2010/02/25/1673368.html原文,转载自:https://blog.csdn.net/guizaijianchic/article/details/...

2019-04-07 16:31:33 3361

原创 《剑指offer》面试题10-斐波那契数列

一、题目 题目:写一个函数,输入n,求斐波那契(Fibonacci)数列的第n项。二、题目分析 最简单的方法就是采用递归的方法,但是递归可能引起严重的问题,就是调用栈溢出。还有一种简单的方法就是从下往上计算,首先根据f(0)和f(1)计算f(2),再根据f(1)和f(3)计算f(3),把中间计算的结果保存起来,依次类推就可以算出第n项。三、代码实现方法一...

2019-03-12 11:38:15 209

原创 《剑指offer》面试题9-用两个栈实现队列

一、题目题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。二、题目分析1、队列的性质是先进先出,而栈的性质是先进后出,先进的在栈底部,后进的在栈顶;2、第一个栈临时保存插入的数据,当调用弹出函数的时候,如果stack2不为空则直接弹出;为空则把stack1中的数据全部弹出放到...

2019-03-11 12:01:15 274

原创 《剑指offer》面试题8-二叉树的下一个结点

一、题目 题目:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。二、题目分析分析二叉树的下一个节点有以下几种情况:1、情况一:若该结点有右子树,则下一个节点为它的右子树中的最左子节点;2、情况二:若该节点无右子树,且该节点为其父节点的左子节点,则其下一个节点为其父节点;3、情...

2019-03-11 11:46:38 153

原创 二叉树的遍历

一、前序遍历 前序遍历的规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。//结点结构体struct Node{ //int value; int data; Node *left;//左子树指针 Node *right;//右子树指针 int lvisited, rvisited;//左、右孩子是否访问过,1表示已访问...

2019-03-10 11:59:34 209

原创 面试题7-重建二叉树

一、题目 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。二、题目分析 二叉树的前序遍历顺序是:先访问根节点,然后前序遍历左子树,再前序遍历右子树。 中序...

2019-03-09 10:51:43 147

原创 面试题6-从尾到头打印链表

一、题目 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。二、题目分析 遍历链表的顺序是从头到尾的顺序,可输出的顺序却是从尾到头。也就是说第一个遍历到的结点最后一个输出,而最后一个遍历到的结点第一个输出。这就是典型的“后进先出”,我们可以用栈实现这种顺序。每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始逐个输出结点的值...

2019-03-09 10:34:22 148

原创 KMP模式匹配算法

1、前缀和后缀 前缀指除了最后一个字符以外,一个字符串的全部头部组合,如:对于字符串”ababa”,它的前缀集合为{”a”, ”ab”, ”aba”, ”abab”}。 后缀指除了第一个字符以外,一个字符串的全部尾部组合,对于字符串”ababa”,它的后缀集合为{”baba”, ”aba”, ”ba”, ”a”}。2、PMT数组 PMT...

2019-03-08 11:38:57 991

原创 通过Git将本地文件上传至Github上

安装好git后,在Windows上,右键快捷菜单,选择Bash操作界面进入界面键入这个命令,邮箱自己填写根据里面的路径信息,进入路径在里边找到 id_rsa.pub文件,用记事本打开,复制其中的全部内容在github上注册好自己的账号进入到设置界面将我们的信息复制进去设置完成做下测试是否连接上了OK,表示可以连接了进入...

2019-03-06 18:52:21 269

原创 面试题5-替换空格

一、题目 题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。 二、题目分析 最直观的做法是从头到尾扫描字符串,每一次碰到空格字符的时候做替换。由于是把1个字符替换成3个字符,我们必须要把空格后面所有的字符都后移两个字节,否则就有两个字符被覆盖了。这样的话,时间复杂度...

2019-03-06 11:18:54 181

原创 面试题4-二维数组中的查找

一、题目 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二、题目分析 首先选取数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,剔除这个数字所在的...

2019-03-06 11:07:26 202

原创 面试题3-数组中的重复数字

一、题目 在长度为n的数组中,所有的元素都是0到n-1的范围内。 数组中的某些数字是重复的,但不知道有几个重复的数字,也不知道重复了几次,请找出任意重复的数字。 例如,输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出为2或3。二、题目分析 1、可以利用哈希表来解决该问题。首先创建一个辅助数组,在辅助数组中存储所有元素的出现次数。然后遍历辅助数...

2019-03-05 11:09:28 237

原创 面试题1-赋值运算符函数

一、题目题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。class CMyString{public: CMyString(char* pData = nullptr); CMyString(const CMyString&amp; str); ~CMyString(void); void Print();priv...

2019-03-05 10:47:11 173

转载 在VISUAL STUDIO 2017中配置QT

下载Qt进入Qt官方下载页,这里有很多的Qt版本,因为我只在windows10上配置过,别的系统的我不清楚这个方式是否适用,找到适合自己的版本,我下载的是:qt-opensource-windows-x86-msvc2015_64-5.6.3[http://download.qt.io/archive/qt/5.6/5.6.3/]安装Qt打开下载的exe, 直接next先Skip,...

2019-03-04 21:43:37 1365

转载 win10打开Tensorflow中可视化工具Tensorboard

代码写好后,我们该怎么打开数据流图?给大家一个简单的代码示范:该文件我保存在F:\tensorflowe文件夹下面,命名为firstimport tensorflow as tfa = tf.constant(5, name="input_a")b = tf.constant(3, name="input_b")c = tf.multiply(a, b, name="mul_...

2018-09-21 16:06:25 140

转载 Fiddler工具的介绍和使用

Fiddler基础知识Fiddler是强大的抓包工具,它的原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。 代理就是在客户端和服务器之间设置一道关卡,客户端先将请求数据发送出去后,代理服务器会将数据包进行拦截,代理服务器再冒充客户端发送数据到服务器;同理,服务器将响应数据返回,代理服务器也会将数据拦截,再返回给客...

2018-08-09 18:20:41 142

原创 创建后台监控的性能计数器

windows自带的监控工具prefmon.exe,可以用界面设置监控计数器。可以通过在cmd中输入perfmon来打开,也可以通过计算机右击管理打开。 若要在perfmon中的数据收集器集中创建用户自定义的性能计时器有两种方法:一是在用户定义文件上右击新建就可以创建新的性能计时器;二是可以在cmd命令下输入Logman create counter test -b 02/02/2016 14:0...

2018-07-12 20:58:13 2995

转载 如何通过Git GUI将自己本地的项目上传至Github

githud是一个程序员以后成长都会使用到的,先不说很多优秀的开源框架都在这上面发布,光是用来管理自己的demo都已经让人感到很方便,用得也很顺畅。而真正让我下定决心使用github的原因是因为两次误操作,将自己所有的学习demo全都删除,而且由于数据太大,是彻底删除的那种,使用数据恢复软件,但然并卵,恢复的数据杂乱无章,另一次是由于自己的固态损坏,所有的东西也全没了,终于痛下决心好好研究gith...

2018-06-21 14:34:34 125

转载 利用 Anaconda 解决 Python2 和 python3 共存问题

anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。因为包含了大量的科学包,Anaconda 的下载文件比较大(约 515 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。直接在官网下载最新版本的https://www.continuum.io/d...

2018-06-13 11:29:31 1638

转载 Robot Framework安装部署详细教程( 64位)

点击Robot Framework是什么?Robot Framework安装准备说实话,在我玩了这么多自动化工具后,感觉Robot Framework所需的环境和安装过程是相对比较繁琐和复杂的。要真正搭建一套可以使用的Robot Framework开发运行环境,需要以下:Python 2.7 (最新版Python3.6为什么不可以?—后面我会讲)pip 和 setuptools (Python 的...

2018-06-13 11:28:09 1114

转载 一文详解 Word2vec 之 Skip-Gram 模型(结构篇)

这次的分享主要是对Word2Vec模型的两篇英文文档的翻译、理解和整合,这两篇英文文档都是介绍Word2Vec中的Skip-Gram模型。下一篇专栏文章将会用TensorFlow实现基础版Word2Vec的skip-gram模型,所以本篇文章先做一个理论铺垫。原文英文文档请参考链接:- Word2Vec Tutorial - The Skip-Gram Modelhttp://t.cn/Rc5Rf...

2018-05-25 09:40:20 28758 9

转载 一文详解 Word2vec 之 Skip-Gram 模型(训练篇)

第一部分我们了解skip-gram的输入层、隐层、输出层。在第二部分,会继续深入讲如何在skip-gram模型上进行高效的训练。在第一部分讲解完成后,我们会发现Word2Vec模型是一个超级大的神经网络(权重矩阵规模非常大)。举个栗子,我们拥有10000个单词的词汇表,我们如果想嵌入300维的词向量,那么我们的输入-隐层权重矩阵和隐层-输出层的权重矩阵都会有 10000 x 300 = 300万个...

2018-05-21 17:14:18 2985

转载 一文详解 Word2vec 之 Skip-Gram 模型(实现篇)

前言上一篇的专栏介绍了Word2Vec中的Skip-Gram模型的结构和训练,如果看过的小伙伴可以直接开始动手用TensorFlow实现自己的Word2Vec模型,本篇文章将利用TensorFlow来完成Skip-Gram模型。还不是很了解Skip-Gram思想的小伙伴可以先看一下上一篇的专栏内容。本篇实战代码的目的主要是加深对Skip-Gram模型中一些思想和trick的理解。由于受限于语料规模...

2018-05-21 17:13:12 2457

原创 如何解决python安装的库因版本不匹配而无法使用

       python有的库与python版本不匹配时可能无法使用。所以我们可以通过语句:import pipprint(pip.pep425tags.get_supported())来查看python的版本和计算机的版本。      然后在网站https://www.lfd.uci.edu/~gohlke/pythonlibs/上针对特定版本来下载不同版本的库。      最后手动安装可以在...

2018-04-07 20:56:22 3672

原创 机器学习之数据分析

前序工作:数据清洗、数据采样、特征工程、模型选择、交叉验证、寻找最佳超参。 1. 分析数据的各属性,查看各属性的数据是否齐全;2. 可以利用describe()函数对数据进行一个全面的认识;3. 可以绘制条形图来查看各个属性或多个属性对目标类别的影响;4. 遇到缺失值要对缺失值进行处理:      若缺值的样本数占总数比例极高,则可以直接舍弃;      若缺值的样本适中,且该属性为非连续值特征属...

2018-03-09 21:56:14 445

网络技术.doc

网络技术.doc

2016-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除