- 博客(49)
- 收藏
- 关注
原创 【windows】-在Windows下安装凸优化包CVXPY
在Windows下安装凸优化包CVXPY,解决anaconda安装cvxpy失败的方法
2020-05-21 14:08:36 295
原创 【c++】-cpu线程亲和性
我读到的写得最完整最好的一篇博文:https://www.cnblogs.com/LubinLew/p/cpu_affinity.html这篇也很不错:https://blog.popkx.com/linux-multi-cpu-programming-specifying-cpu-sched_setaffinity-and-sched_getaffinity-for-threads/其他:...
2020-04-13 02:42:41 453
原创 【C++】-perf性能调优工具
安装:sudo apt-get install linux-source进入目录cd /usr/src解压文件tar -xvf code.tar.bz2然后就遇到问题了==
2020-04-10 23:14:13 575
原创 【计算机网络】-拥塞避免
TCP的拥塞控制快重传要求接收方在收到一个失序的报文段后就立即发出重复确认(为的是使发送方及早知道有报文段没有到达对方)而不要等到自己发送数据时捎带确认。快重传算法规定,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段,而不必继续等待设置的重传计时器时间到期。考虑到如果网络出现拥塞的话就不会收到好几个重复的确认,所以发送方现在认为网络可能没有出现拥塞。所以此时不执行慢开始算...
2020-04-08 19:05:28 558
原创 【计算机网络】-滑动窗口
滑动窗口概念滑动窗口是两台主机间传送数据时的缓冲区。每台TCP /IP 主机支持两个滑动窗口,一个用于接收数据, 另一个用于发送数据。窗口尺寸表示计算机可能缓冲的数据量大小。工作原理1. 滑动窗口工作过程TCP 协议通过采用滑动窗口的方式控制数据流的传输。在传输层中, 数据按照一定的格式打成大小相同的包。每一个滑动窗口中包含一定数目的数据包, 滑动窗口的大小可以进行调整。每台网络上...
2020-04-08 17:31:31 942
原创 【c++】-STL内存池
C++STL内存池内存池的思路其实是这样的:使用allocate向内存池请求size大小的内存空间, 如果需要请求的内存大小大于128bytes, 直接使用malloc.如果需要的内存大小小于128bytes, allocate根据size找到最适合的自由链表.a. 如果链表不为空, 返回第一个node, 链表头改为第二个node.b. 如果链表为空, 使用blockA...
2020-04-02 12:20:19 211
原创 【c++】-gcc/g++编译器的差别
今天遇到了一些关于编译的问题,在网上查找不到具体答案,所以做了一些实验来验证自己的想法详细完整的描述可以参考其他博文:gcc和g++编译器的区别这里摘抄其中的两句话:后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是C++程序, 注意,虽然C++是C的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。编译可以用gcc/g++...
2020-03-30 22:58:16 587
原创 【c++】-Linux gcc编译、静态库、动态库
gcc编译过程预处理 --> ( * .i) 编译 -->( * .s汇编文件) 汇编–>( * .o二进制机器码) 链接–>可执行文件预处理:预处理器将源文件对应的宏展开 gcc -E test.c -o test.i编 译:gcc将c文件编译成汇编文件 gcc -S test.i -o test.s汇 编:利用as命令(汇编...
2020-03-30 17:57:28 160
原创 【git常用命令】
版本查看回退版本历史 git log查看回退版本历史 git log查看前进版本历史 git reflog版本穿梭 git reset --hard <commit_id> / git reset --hard HEAD^版本库将文件添加到暂存区 git add readme.md提交本次修改 git commit -m “add readme f...
2020-03-27 16:22:42 83
原创 【TensorFlow 2.0 】三大项目实战-图像分类
TensorFlow是由Google开发的深度学习框架,被广泛应用于各类机器学习算法的编程实现,无论你是专家还是初学者,它都可以帮助你轻松构建和部署机器学习模型。作为当下最为热门的机器学习框架,TensorFlow具有非常完整的生态系统,可以帮助你使用机器学习解决各种棘手的现实问题,并随时随地进行可靠的机器学习生产,英特尔、AIRBUS、中国移动、小米等一大批知名企业都在使用Tenso...
2020-02-18 18:35:10 1168
原创 【华为云初体验】--这个故事要从一只蝙蝠说起
购买了华为云服务器学生套餐,包含了如下资源首先,登陆root用户,添加普通用户useradd -m 用户名 -s /bin/bash给useradd命令添加参数,在用户名之前使用-m,可以为用户添加默认家目录(如果不添加 家目录,这个用户将无法创建文件)。使用-m参数的同时还需要使用-s参数来指定shell的位 置(如果不添加shell的位置,用户的默认shell使用的是sh,它的功能比...
2020-02-12 11:38:43 368
原创 【c++】寒假学习-new与delete表达式
一、new表达式工作步骤使用new表达式时发生的三个步骤:调用名为operator new的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象运行该类型的一个构造函数初始化对象返回指向新分配并构造的构造函数对象的指针二、nedelete表达式工作步骤使用delete表达式时发生的两个步骤:4. 调用析构函数,回收对象所申请的资源5. 调用名为operato...
2020-01-06 17:07:12 192
原创 【C++】寒假学习-类和对象
C++内存布局分为几个区域,各自具备什么特点?在C++中,程序在内存中的存储被分为五个区:1)、栈区(stack):由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2)、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3)、全局/静态区(static):全...
2020-01-04 09:23:54 259
原创 【web搜索】学习笔记-EM算法
E步骤:根据观测值计算隐含变量的分布情况M步骤:根据隐含变量的分布来估计新的模型参数相关链接:EM算法详解-知乎(包含投硬币例子)EM算法(含C++代码)学习笔记:先附上第二个链接中的代码:// EM_learning.cpp: 定义控制台应用程序的入口点。//试图用EM算法来根据输入的身高来区分性别#include "stdafx.h"#include<iost...
2019-12-08 01:56:09 172
原创 【web搜索】学习笔记-k-means聚类
k-means聚类也称k均值算法,自顶而下的聚类算法,根据元素对类的所属是否为而至,又分为硬聚类和软聚类。在普通的k均值算法中,元素和类用相同的向量形式表达。类是质心,即类中所有元素的均值,初始时可将元素随意(或根据启发性信息)分为k个组,计算出各个组的之心,然后按照以下的算法进行类间元素的调整:硬k均值聚类算法1 初始化k个组的质心向量2 while 还可以继续改进 do3...
2019-12-06 22:44:31 162
原创 【web搜索】学习笔记-层次汇合聚类HAC算法
层次汇合聚类(Hierarchical Agglomerative Clustering,HAC)算法如下:相关链接:层次聚类算法原理及实现学习笔记:先附上上一段链接中的代码:// HAC_learning.cpp: 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <vecto...
2019-12-06 19:40:37 584
原创 【matlab】【C++/C】MD5校验工具
使用MD5校验matlab代码:function [] = writeTableDouble(destFilePath, data )% 向P指向的文件中写入data中的n个整形数据datalen = length(data);fid = fopen(destFilePath, 'wb');for i= 1: datalen fprintf(fid, '%f ' , data...
2019-11-28 19:09:34 334
原创 【数据结构与算法】学习笔记-《算法笔记》-18【素数】
将解决两个问题:如何判断给定的正整数n是否是质数;如何在较短的时间内得到1~n内的素数表如何判断给定的正整数n是否是质数;结论:只需要判定n能否被2,3……sqrt(n)(向下取整)中的一个整除,即可判定n是否为素数。 具体证明过程如下:代码如下://判断是否为素数bool isPrime(int n){ //特判 if (n <= 1) return fals...
2019-10-02 21:15:40 239
原创 【数据结构与算法】学习笔记-《算法笔记》-17【分数的表示、化简和输出】
分数的表示//分数的表示struct Fraction { int up, down;//分子与分母};分数的化简分数的化简应该满足三项原则:当分母为负数时,分子与分母同时取反;当分数为零时(分子为零时),分母必为1;分子分母没有除了1以外的公约数(同除最大公约数)。//求最大公约数int gcd(int a, int b){ return !b ? a : gcd...
2019-10-02 18:46:25 247
原创 【数据结构与算法】学习笔记-《算法笔记》-16【最大公约数与最小公倍数】
最大公约数int gcd(int a, int b){ return !b ? a : gcd(b, a%b);}最小公倍数设正整数a与b的最大公约数是d,最小公倍数是c,则c=a* b/d,为了防止溢出,应写为a/d*b。...
2019-10-02 16:31:57 131
原创 【数据结构与算法】学习笔记-《算法笔记》-15【简单数学问题】
示例:数字黑洞#include <cstdio> #include <time.h> #include<stdlib.h>#include<math.h>#include <vector>//#include <cstring>#include <iostream>#include <str...
2019-10-02 16:31:49 127
原创 【数据结构与算法】学习笔记-《算法笔记》-14【其他高效技巧与算法】
打表如事先计算出Fibonacci数列,需要时再对其进行查询。活用递推例如就一类涉及序列的题目来说,加入序列的每一位所需要计算的值都可以通过太尉左右两侧的结果计算得到,那么就可以考虑所谓的“左右两侧的结果”是否能通过地推进行预处理来得到,这样在后面的使用中就可以不必反复求解示例:给定字符串,问一共可以形成多少个PAT?输入样例APPAPT输出样例Hint:输入字符串长度不超过1...
2019-10-01 19:49:20 146
原创 【数据结构与算法】学习笔记-《算法笔记》-13【two pointers】
引例给定一个递增的正整数序列和一个正整数M,求序列中的两个不同位置的数a和b,使得它们的和恰好为M,输出所有满足条件的方案。二重枚举的复杂度为O(N2)two pointers 将利用有序序列的枚举特性来有效降低复杂度。它对本题的算法过程如下: while (i < j) { if (a[i] + a[j] == m) { printf("%d%d", i, j...
2019-09-30 19:22:54 187
原创 【C++】简短笔记-生成随机数
C语言中有可以产生随机数据的函数,需要添加以下头文件:#include<stdlib.h>#include<time.h>另外应该在main函数开头加上srand((unsigned)time(NULL));//生成随机数的种子其中srand用于初始化随机种子。然后在需要使用随机数的地方使用rand函数。下面是一段生成是个随机数的代码:#include ...
2019-09-30 15:09:45 129
原创 【数据结构与算法】学习笔记-《算法笔记》-12【二分】
按顺序查找的方法,时间复杂度为O[n];二分法的时间复杂度为O[logn]。示例:在A[n]={1,3,4,6,7,8,10,11,12,15}中找到6和9的下标(失败返回-1)#include "stdafx.h"#include <cstdio>int binaryS(int A[], int left, int right, int x){ int mid; ...
2019-09-29 20:43:17 151
原创 【数据结构与算法】学习笔记-《算法笔记》-11【贪心】
简单贪心示例一:月饼#include "stdafx.h"#include <string>#include <cstdio>#include <algorithm>using namespace std;struct mooncake { double store;//库存量 double sell;//总售价 double pric...
2019-09-27 08:54:47 243
原创 【数据结构与算法】学习笔记-《算法笔记》-9
散列示例问题:查询N个正整数是否在M个正整数中出现过传统遍历法的复杂度为O(NM)采用散列思想,用空间换时间,复杂度为O(N+M)#include <cstdio>#include <vector>#include <algorithm>#include <string>#include <cstring>#inclu...
2019-09-22 10:56:06 167
原创 【C++】简短笔记-关于字符数组
关于字符数组:len1 = strlen(str1);len2 = strlen(str2);int i;for ( i = 0; i < len1; i++){str3[i] = str1[i];int qq = 5;}str3[i] = ‘\0’;1、初始化:(1)可以像普通数组一样,一个一个赋值进行初始化(2)也可以通过直接赋值字符串来初始化(仅限于初始化的时候...
2019-09-21 18:42:27 222
原创 【C++】简短笔记-char型字符转换为int型数字
*将char型字符转换为int型数字:int main(){char c;scanf("%c", &c);printf("%d\n", c - ‘0’);return 0;}运行结果:输入 9输出 9
2019-09-21 18:40:31 900 1
原创 【C++】简短笔记-qsort函数对二维数组进行排序
int compar(const void* a, const void* b){ return *(const int*)b - *(const int*)a; 一开始考虑不周,这一步可能导致数值溢出 if (*(const int*)b > *(const int*)a) return +1; if (*(const int*)b < *(const int*)a) re...
2019-09-21 18:32:03 703
原创 【数据结构与算法】学习笔记-《算法笔记》-8
排序选择排序学习了最常用的简单选择哎嘘,复杂度高达O(n2)示例:插入排序学习了最直观的直接插入排序示例:sort函数的应用推荐直接使用C语言中的库函数qsort或是C++中的sort函数进行代码编写sort函数的头文件为< algorithm>它的使用必须加上#include<algorithm>using namespace std;函数格...
2019-09-19 20:48:33 171
原创 【数据结构与算法】学习笔记-《算法笔记》-7
练习剩下的树题目描述有一个长度为整数L(1<=L<=10000)的马路,可以想象成数轴上长度为L的一个线段,起点是坐标原点,在每个整数坐标点有一棵树,即在0,1,2,…,L共L+1个位置上有L+1棵树。现在要移走一些树,移走的树的区间用一对数字表示,如 100 200表示移走从100到200之间(包括端点)所有的树。可能有M(1<=M<=100)个区间,区间之间...
2019-09-18 21:12:54 314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人