- 博客(42)
- 资源 (3)
- 收藏
- 关注
原创 static的作用
1. 修饰局部变量:放在全局数据区的静态变量区,延长了局部变量的生命周期,直到程序运行结束以后才释放。2. 修饰全局变量:修饰的变量只可以在本文件中使用,不能在其他文件中访问,即使用extern也不可以。3. 修饰函数:此函数只能在本文件中使用,不能在其他文件中使用。...
2019-07-26 11:40:47
269
原创 malloc函数使用,与C++中new区别
函数声明(函数原型):void *malloc(int size);说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。需要包含头文件:#include <malloc.h>或#include<stdlib.h>示例:...
2019-07-25 16:22:48
406
转载 select函数
select()就是在进程或者线程执行到此函数时可以完成非阻塞,像Socket库中的connect、accept、recv/recvfrom等函数会发生阻塞(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回),使用select则可以完成非阻塞(所谓非阻塞方式non-block,就是进程或线程执行此函数时...
2019-07-23 10:49:09
782
原创 printf()修饰符
1.标志:可以使用0个或者多个标志,例如:“%-10d”printf()的标志 标志 意义 - 项目左对齐:即把项目打印在字段的左侧开始处“%-20s” + 有符号的值若为正,则显示带加号的符号;若为负,则带减号的符号"%+6.2f" (空格) 有符号的值若为正,则显示时带前导空格(但是不显示符号);若为负,则带减号符号。+标志会覆盖空格标志。"% 6...
2019-07-15 20:29:04
634
原创 atoi()函数:将字符串转换为整数(int)
int main(){ char a[] = "-100"; char b[] = "123"; int c, d, e; c = atoi(a) d = atoi(b); e = c + d; printf("c=%d\n", c); printf("d=%d\n", d); printf("e=%d\n", e);...
2019-07-12 17:06:58
589
转载 Makefile经典教程
makefile很重要 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefil...
2019-07-10 20:00:49
315
原创 bzero和memset函数
bzero函数函数原型:void bzero(void *s, int n);头文件:#include <string.h>功能:将字符串s的前n个字节置为0,一般来说n通常取sizeof(s),将整块空间清零。返回值:无返回值例子:将一个数组清零:char str[10];bzero( str, sizeof(str) );也可以将一个结构体清零:...
2019-07-10 14:40:34
610
转载 RTSP传输介绍
RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须...
2019-04-26 16:55:17
3670
转载 cJSON 使用详解
由于c语言中,没有直接的字典,字符串数组等数据结构,所以要借助结构体定义,处理json。如果有对应的数据结构就方便一些, 如python中用json.loads(json)就把json字符串转变为内建的数据结构处理起来比较方便。一个重要概念:在cjson中,json对象可以是json,可以是字符串,可以是数字。。。cjson数据结构定义:#d...
2019-03-07 14:48:02
61870
8
转载 C语言通过stock进行TCP通讯
TCP/IP协议:叫做传输控制/网际协议,又叫网络通信协议。实际上,它包含上百个功能的协议,如ICMP(互联网控制信息协议)、FTP(文件传输协议)、UDP(用户数据包协议)、ARP(地址解析协议)等。TCP负责发现传输的问题,一旦有问题就会发出重传信号,直到所有数据安全正确的传输到目的地套接字(socket): 在网络中用来描述计算机中不同程序与其他计算机程序的通信方式。soc...
2019-03-06 17:37:50
2285
原创 CMake 使用--CMakeLists.txt 的编写
cmake_minimum_required (VERSION 2.8) # CMake 最低版本号要求 project (Demo1)# 项目信息 参数值是 Demo1,该命令表示项目的名称是 Demo1 add_executable(Demo main.cpp MathFunctions.cc)# 指定生成目标 将名为 main.cpp和MathFunctio...
2019-01-06 16:36:05
537
原创 堆-----学习笔记
小堆的根节点一定是堆里最小的元素,大堆里的根节点一定是堆里最大的元素。 大堆:构造堆:堆A的最大非叶子节点索引 = (len(A)-1)/ 2 ...
2018-12-22 21:47:52
156
原创 二叉树相关术语
树的结点(node):包含一个数据元素及若干指向子树的分支;孩子结点(child node):结点的子树的根称为该结点的孩子;双亲结点:B 结点是A 结点的孩子,则A结点是B 结点的双亲;兄弟结点:同一双亲的孩子结点; 堂兄结点:同一层上结点;祖先结点: 从根到该结点的所经分支上的所有结点子孙结点:以某结点为根的子树中任一结点都称为该结点的子孙结点层:根结点的层定义为1;根的孩...
2018-12-22 15:57:48
1059
原创 二叉树 学习笔记
1.完全二叉树: 左子节点 索引 = 父节点索引 * 2 + 1,右子节点 索引 = 父节点索引 * 2 + 2,平衡二叉树:多应用在搜索的地方2.3. 常用算法(1)递归深度优先遍历:<1> 中序遍历 #后面的序号表示遍历的顺序<2> 前序遍历二叉树查找:。。。(2)队列广度优先遍历(分层遍历)...
2018-12-22 15:57:25
232
原创 C++ unordered_map 用法
c++使用unordered_map #include<tr1/unordered_map>//在unordered_map之前加上tr1库名, using namespace std::tr1;//与此同时需要加上命名空间1 2 3[查找元素是否存在]若有unordered_map <int, int> mp;查找x是否在map中 方法1...
2018-12-21 17:09:11
2623
转载 C++ STL 之 unordered_set 使用(包括unordersd_map)
unordered_set可以把它想象成一个集合,它提供了几个函数让我们可以增删查:unordered_set::insertunordered_set::findunordered_set::erase这个unorder暗示着,这两个头文件中类的底层实现----Hash。 也是因为如此,你才可以在声明这些unordered模版类的时候,传入一个自定义的哈希函数,准确的说是哈希函数子(h...
2018-12-21 12:29:49
118738
3
转载 C++ STL迭代器使用详解
写在前面,迭代器这种东西,就是为了使访问简单!!容器::iterator iter;for(iter= 容器.begin();iter!=容器.end();iter++){cout<<*iter或者是 iter->first等等之类的 //迭代器就是这么个套路} 然后就是set,set就...
2018-12-21 11:27:39
7383
1
原创 C++ std::pair的用法
1 pair的应用pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。2 make_pair函数...
2018-12-21 00:30:11
821
转载 C++ STL 之 unordered_set 介绍
简介 C++ 11中出现了两种新的关联容器:unordered_set和unordered_map,其内部实现与set和map大有不同,set和map内部实现是基于RB-Tree,而unordered_set和unordered_map内部实现是基于哈希表(hashtable),由于unordered_set和unordered_map内部实现的公共接口大致相同,所以本文以u...
2018-12-21 00:21:40
1706
转载 C++ Vector 使用说明
一、向量的介绍 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。 在使用它时, 需要包含头文件 vector, #include<vector>...
2018-12-20 16:53:09
90030
5
转载 python re库(正则表达式)入门
正则表达式(英文名称:regular expression,regex,RE)是用来简洁表达一组字符串特征的表达式。最主要应用在字符串匹配中。\d 数字:[0-9]\D 非数字: [^0-9]\s 空白字符:[ \t\n\x0B\f\r]\S 非空白字符:[^\s]\w 单词字符:[a-zA-Z_0-9]\W 非单词字符:[^\w]匹配IP地址的正则表达式: 1...
2018-12-20 14:55:46
441
原创 python中 with-as 语句用法
With语句是什么?有一些任务,可能事先需要设置,事后做清理工作。对于这种场景,Python的with语句提供了一种非常方便的处理方式。一个很好的例子是文件处理,你需要获取一个文件句柄,从文件中读取数据,然后关闭文件句柄。如果不用with语句,代码如下:file = open("/tmp/foo.txt")data = file.read()file.close()这里有两个问...
2018-12-19 23:55:18
1676
原创 sklearn库——SVM
svm.SVC(C,keneral)C: float参数 默认值为1.0错误项的惩罚系数。C越大,即对分错样本的惩罚程度越大,因此在训练样本中准确率越高,但是泛化能力降低,也就是对测试数据的分类准确率降低。相反,减小C的话,容许训练样本中有一些误分类错误样本,泛化能力强。对于训练样本带有噪声的情况,一般采用后者,把训练样本集中错误分类的样本作为噪声。kernel: str参数 默认为‘...
2018-12-18 22:00:47
1698
原创 C++ 队列(queue)简介
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的。C++队列queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列空则返回真front()返回第一个元素po...
2018-12-18 21:58:25
13006
原创 C++ 栈(stack)简介
栈中的元素遵守“先进后出”的原则(LIFO,Last In First Out),只能在栈顶进行插入和删除操作 类型名称:stack<T>或是stack<T,Underlying_Container> 表明是由T类型的元素构成的栈。头文件:<stack>已定义类型:value_type、size_type无迭代器成员函数: • s.si...
2018-12-18 21:56:39
549
原创 机器学习笔记(八)-吴恩达视频课程(支持向量机SVM)
1.支持向量机的优化目标以下是新建的 SVM 的图像,左边为y=1时,右边为y=0时然后进行转换2.SVM 被看做大边界分类器(大间距)的情况在y=1时, >= 1 代价函数为0在y=0时, <=-1 代价函数为0注意不是与0作比较来判定,这样就有了安全间距 可以看到图中黑色,粉色,绿色三个边界,黑色边界是最稳健的边界,它和样...
2018-12-16 22:49:42
934
转载 机器学习与统计建模 —— 归一化和标准化
归一化(Min-Max Normalization)特点1、对不同特征维度进行伸缩变换 2、改变原始数据的分布。使各个特征维度对目标函数的影响权重是一致的(即使得那些扁平分布的数据伸缩变换成类圆形) 3、对目标函数的影响体现在数值上 4、把有量纲表达式变为无量纲表达式 。好处1、提高迭代求解的收敛速度 2、提高迭代求解的精度缺点1、最大值与最小值非常容易受异常点影响 2、...
2018-12-15 16:07:07
351
原创 算法初步介绍
1.常用算法穷举(万能算法):n个数排列、八皇后问题分而治之(减而治之):二分查找——减而治之归并排序——分而治之贪心:动态规划:2.复杂度时空复杂度:复杂度:优化算法复杂度:从最里层开始,逐层往外...
2018-12-14 20:29:07
291
原创 机器学习笔记(七)-吴恩达视频课程(应用机器学习建议)
改进算法的常用方法:1.尝试减少特征的数量 2.尝试获得更多的特征 3.尝试增加多项式特征 4.尝试减少正则化程度
2018-12-14 19:16:08
144
原创 机器学习笔记(六)-吴恩达视频课程(神经网络学习 二)
1.代价函数 神经网络层数L,表示L层(最后一层)神经元个数,表示每层的输出神经元数 二类分类:=1 输出层有一个神经元,输出的y是一个实数 y = 0 or 1 表示类别 多类别分类:一共有K类,则=K,输出层有K个神经元, (K>=3)输出是一个K维向量代价函数:每一行特征都会给出K个预测,可以利用循环对每一行特征都预测K个不同的结果,然后在利用循环在...
2018-12-02 18:20:46
326
原创 机器学习笔记(五)吴恩达课程视频(神经网络学习 一)
模型表示神经网络中,参数又可被称为权重(weight)。神经网络是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量输入层(第一层)、输出层(最后一层)、隐藏层(中间层)。每一层都增加一个偏差单元(bias unit):每一个
2018-11-28 23:57:17
441
原创 scipy库 笔记
1. fmin(func, x0, args=(), xtol=0.0001, ftol=0.0001, maxiter=None, maxfun=None, full_output=0, disp=1, retall=0, callback=None, initial_simplex=None)参数说明:func : (可调用 func(x,*args) ) ...
2018-11-24 20:57:04
972
原创 numpy库常用函数笔记
1. 矩阵和各种乘法问题np.mat(a) 将a矩阵化 (或者np.matrix(a))np.multiply() 数组/矩阵对应位置相乘,输出与相乘数组/矩阵的大小一致 np.dot() 对于秩为1的数组,执行对应位置相乘,然后再相加;对于秩不为1的二维数组,执行矩阵乘法运算; 对于矩阵则直接进行矩阵乘积星号(*)乘法运算 对数组执行对应位置相乘...
2018-11-23 21:27:11
210
原创 matplotlib库 常用函数笔记
fig, ax = plt.subplots(figsize=(6,5)) #建立一个fig对象,建立一个axis对象 (也可以fig=plt.figure()ax=fig.add_subplot(111)来创建 只不过比较复杂 )matplotlib.pyplot.subplots(nrows=1, ncols=1,sharex=False, sharey=False,...
2018-11-23 21:25:57
777
原创 pandas常用函数笔记
筛选元素,判断是否存在等:df.isin([ ]) 判断df中是否有括号中的元素 DataFrame([data, index, columns, dtype, copy]) 构造数据框data[data.isin[ ]] 可以将符合isin()的元素提取出来构造成一个新的dataDataFrame( ) 创建一个datafram对象eg: df.insert('列...
2018-11-23 21:23:07
433
原创 机器学习笔记(四)吴恩达课程视频(正则化)
正则化1.过拟合回归问题:第一个为欠拟合,第三个为过拟合,中间效果最合适。分类问题:同上也存在欠拟合、过拟合问题解决办法:<1> 丢弃一些不能帮助我们正确预测的特征:可以是手工选择保留那些特征,也可以使用一些模型选择的算法来帮忙(如PCA)<2>正则化:保留所有特征,但是减小参数的大小(magnitude)2.代价函数使系数比较大的项...
2018-11-23 11:29:43
210
原创 机器学习笔记(三)吴恩达课程视频(Logistic回归)
Logistic回归(逻辑回归)一个分类算法,输出值永远在0~1之间这是一个分类算法,虽然名字中有“回归”二字,但是它是分类算法,适用于标签y取值离散的情况。logistic function 与sigmoid function 表达的意思一样1.假设陈述x代表特征向量,g代表逻辑函数(logistic function),是一个常用的逻辑函数为s形函数(sigmoid f...
2018-11-22 18:09:34
382
原创 机器学习笔记(二)吴恩达课程视频
多元变量线性回归1.多维特征: 2.多元梯度下降:代价函数:(目标与单变量一致,要找出使代价函数最小的一系列参数)梯度下降算法:梯度下降算法——特征缩放:除了固定以外,的值都要变成[-1,1]范围左右之间的取值,不仅仅是[-1,1],可以在该范围内波动,但是不要幅度太大。(平均值指的是训练集中不同组别的同一特征值的平均值)梯度下降算法...
2018-11-16 12:29:34
204
车牌识别完整版 基于OPENCV3 完全实现车牌的字符提取 分割 识别 准确率高达95%
2018-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人