自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的学习笔记分享

分享学习笔记

  • 博客(52)
  • 资源 (10)
  • 收藏
  • 关注

原创 4.1 网络基础之网络IO

通过多设置几个select,相比方法1,能突破C10K,但是难以突破C1000K,因为每次调用fd_set需要copy进内核,然后返回再copy出来,涉及系统调用,当大量copy时,还是有限制的。解决办法:TCP协议中,数据以字节流方式传输,被发送的数据可能不是一次性发完,可能是被拆成很多个小段,一段段发出去。阻塞模式下,发送缓冲区空间不够,程序阻塞在send、write函数,直到发送缓冲区数据发送出去腾出空间,将剩下数据再拷贝到腾出的空间,直接到数据全部拷贝进发送缓冲区,函数返回。

2023-10-25 23:28:55 818

原创 centos安装向日葵

linux系统centos安装向日葵软件。

2023-04-26 21:31:06 2054 1

原创 centos的/mnt/hgfs文件夹下不显示共享文件夹

虚拟机中,Linux系统与宿主机的共享文件夹默认路径为linux系统中的/mnt/hgfs,若 cd到 /mnt/hgfs 下,

2023-04-17 18:24:20 1015 2

原创 centos7搭建vs code的c/c++开发环境

centos7搭建vs code的c/c++开发环境

2023-03-30 17:04:00 3475 4

原创 windows下用c写http服务器遇到“_imp_WSAStartup”问题

windows下用c写http服务器遇到“_imp_WSAStartup”问题

2023-03-27 00:06:28 113

原创 从0手把手带你搭建pytorch深度学习

从0手把手带你搭建pytorch深度学习。

2023-02-16 00:26:05 2459 9

原创 基于人脸关键点的疲劳检测

做了一个简单的基于人脸关键点的疲劳检测系统。

2022-12-19 14:41:52 789 8

原创 单人脸的关键点检测

一个简单的单人人脸关键点检测项目,采用onnx推理。

2022-12-14 14:07:05 1361 4

原创 结构体指针做参数时注意的问题

结构体指针的使用,传入参数时需要注意,容易疏忽。

2022-09-27 01:12:12 471

原创 一口气搞懂指针、引用和const的混合

一口气搞明白int const*、int * const、int *&之间关系

2022-09-27 00:53:43 231

原创 侯捷老师 c++面向对象编程(上)

基于侯捷老师的C++面向对象编程课程,做的c++笔记。

2022-07-30 23:33:04 1072

原创 vscode输出中文乱码问题

解决vscode输出中文乱码问题,亲测有效。

2022-07-29 00:59:51 3897 16

原创 Linux常用命令和工具

目录一、基础操作命令二、vim的使用三、grep搜索命令四、find查找命令五、wc统计命令六、mv移动 / 重命名 文件(夹)一、基础操作命令1、echo命令用于在终端显示字符串或变量,格式为:“echo [字符串 | 变量]”查看主机名如下:2、reboot命令用于重启系统(仅root用户可以使用),格式为:”reboot”3、ifconfig用于获取网卡配置与网络状态等信息:格式为”ifconfig [网络设备] [参数]”4、pwd命令用于显示当前

2022-04-23 11:31:00 2158

原创 保姆级别带你手撕红黑树BRTree

一、前言本文是自己在学习过程中,记录下的一些总结,以便日后复习,同时分享出来,方便与更多人学习交流,共同进步。鄙人水平有限,若有误,请不吝赐教😁😁😁。二、从头介绍红黑树树是一种二叉树,比较常用的数据结构,如果对二叉树不是很熟悉或者有遗忘的朋友,可以看看我之前做的笔记。第一篇介绍二叉树的基础知识:数据结构与算法 树_振予的博客-CSDN博客第二篇介绍二叉搜索树和二叉平衡树树:数据结构与算法 查找_振予的博客-CSDN博客三、红黑树介绍每当我们打开电脑查找一个文档、在教务系统输入我们

2022-04-20 12:33:11 1511 3

原创 记录偶遇for中std::string::size()的一次坑

今天玩力扣周赛中,遇到一个小小的坑。当然主要原因是自己掌握的知识不多,理解不够清楚。那就记录下来吧,希望以后不会再掉进去。我们先来看一段代码,如下:#include<iostream>#include<cstring>#include<algorithm>using namespace std;int main(){ string s = "hello"; for(int i = 0;i < s.size();i ++){ cout &l

2022-04-10 14:28:46 1296

原创 acwing 每日一题 1761.阻挡广告牌

题目描述:(不想读题直接看最后的分析)在漫长的产奶期间,奶牛贝茜喜欢透过窗户盯着马路对面的两个巨大的矩形广告牌,上面写着“农夫亚历克斯的惊人开胃苜蓿”和“农夫格雷格的大粒谷物”。广告牌上这两种精美的牛饲料看上去比农场里的草美味的多。有一天,当贝茜凝视着窗外时,她惊异地看到一辆巨大的矩形卡车停在马路对面。卡车的侧面有一个广告,上面写着“农夫史密斯的精湛牛排”。贝茜对此不太感兴趣,但她非常担心卡车可能会阻挡她观看最喜欢的两个广告牌的视野。给定两个广告牌的位置和卡车的位置,请计算两个广告牌的仍然可见

2022-03-29 23:12:22 710

原创 计算机网络 第六章 应用层

一、应用层概述应用层是计算机网络体系结构的最顶层,是设计和建立计算机网络的最终目的,也是计算机网络中发展最快的部分。早期基于文本的应用(电子邮件、远程登录、文件传输、新闻组)、20世纪90年代将因特网带入千家万户的万维网WWW、当今流行的即时通信、P2P文件共享及各种音视频应用。计算设备的小型化和“无处不在”,宽带住宅接入和无线接入的日益普及和迅速发展,为未来更多的新型应用提供了广阔的舞台。在本章中,我们以一些经典的网络应用为例来学习有关网络应用的原理、协议和实现方面的知识。后面我们一一学习

2022-01-31 00:07:49 3706 3

原创 计算机网络 第五章 传输层

一、传输层概述之前课程所介绍的计算机网络体系结构中的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题,实现了主机到主机的通信。但实际上在计算机网络中进行通信的真正实体是位于通信两端主机中的进程。如何为运行在不同主机上的应用进程提供直接的通信服务是运输层的任务,运输层协议又称为端到端协议。运输层直接为应用进程间的逻辑通信提供服务运输层向高层用户屏蔽了下面网络核心的细节(如网络拓扑、所采用的路由选择协议等),它使应用进程看见的就好像是在两个运输层实体之间有条端到端的逻

2022-01-29 13:21:35 414

原创 计算机网络 第四章 网络层

一、网络层概述网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。要实现网络层任务,需要解决以下主要问题:a、网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)b、网络层寻址问题c、路由选择问题因特网(Internet) 是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层。综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理

2022-01-16 00:16:16 5059

原创 计算机网络 第三章 数据链路层

一、数据链路层概述链路(Link)就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。数据链路(Data Link)是指把实现通信协议的硬件和软件加到链路上,就构成了数据链路。数据链路层以帧为单位传输和处理数据。使用点对点信道的数据链路层的三个重要问题:(1)、封装成帧:数据链路层给网络层协议数据单元添加一个数据链路层协议首部,简称为帧头,再添加一个帧尾。这两个操作叫封装成帧。(2)、差错检测:检错码封装在帧尾,接收方根据检测码和检测算法就可以判断是否发生差错。(3)、

2022-01-14 23:47:14 2892

原创 计算机网络 第二章 物理层

目录前言一、传输媒体二、传输方式三、编码与调制四、信道的极限容量1、奈氏准则2、香农公式前言物理层考虑的是怎样才能在连接各种计算机的传输媒体上传输数据比特流。物理层为数据链路层屏蔽了各种传输媒体的差异,使数据链路层只需要考虑如何完成本层的协议和服务,而不必考虑网络具体的传输媒体是什么。一、传输媒体导引型传输媒体:双绞线、同轴电缆、光纤(多模光纤、单模光纤)、电力线。非导引型传输媒体:无线电波、微波、红外线、可见光。二、传输方式可以分为三种不同的分类方式

2022-01-13 23:54:34 3426

原创 计算机网络 第一章 计算机网络概述

目录一、计算机网络在信息时代中的作用二、因特网概述三、因特网的组成1、主机之间的通信方式1.1、客户服务器方式(C/S 方式),即Client / Server方式1.2、对等方式(P2P 方式) ,即 Peer-to-Peer方式2、核心部分 数据交换2.1、电路交换(面向连接)2.2、分组交换2.3、报文交换四、计算机网络在我国发展五、计算机网络的类别六、计算机网络的性能6.1、速率6.2、带宽6.3、吞吐量6.4、时延6.5、..

2022-01-13 19:19:47 482

原创 数据结构与算法 排序之代码实现

一、冒泡排序从前往后遍历,每次相邻的两个比较,把大的往后交换,每趟都会把当前序列最大的归位,代码如下:#include<iostream>using namespace std;const int N = 1e4 + 10;int a[N];void maopao_sort(int n){ for(int i = n - 1; i >= 0;i --){ // i控制趟数 for(int j = 0;j < i;j ++){ // j

2022-01-08 14:35:31 683

原创 数据结构与算法 排序

一、相关定义二、排序前的存储结构三、插入排序1、基本介绍2、直接插入排序上面的方法,每次都需要判断一下j>=0,我们可以使用哨兵省去该判断操作。如下图,让第一个位置空出来,放置每次即将被插入的元素。3、折半插入排序4、希尔排序主程序:四、交换排序1、冒泡排序2、快速排序主程序:子程序:...

2022-01-04 07:53:13 871

原创 数据结构与算法 查找

一、线性表的查找1、顺序查找2、折半查找这里有两种实现方法,一种是迭代,一种是递归。2.1 迭代方法#include<stdio.h>#define N 10typedef struct{ int data[N]; int length;}nums;int Seach_bin(nums a, int key){ int left = 0; int right = a.length; int mid; while(left &l...

2022-01-03 00:28:50 430

原创 数据结构与算法 图

一、定义图是一种比较常用的数据结构,有许多定义需要理解,下面一一介绍。图:G = (V, E) Graph = (Vertex, Edge) V : 顶点(数据元素)的有穷非空集合; ...

2022-01-02 00:03:13 535

原创 数据结构与算法 树

一、定义树是一种常用的一种结构,下面看看有哪些关于树的定义。根结点、孩子结点、兄弟结点、叶子结点、内部结点、节结的度、树的度,如下图:满二叉树:一棵深度为k且有个结点的二叉树称为满二叉树。其特点:1、每一层上的结点数都是最大结点数(即每层都满),2、叶子结点全部在最底层。如下图:完全二叉树:深度为k的具有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应时,称之为完全二叉树。如下图:二、性质(二叉树性质)二叉树(每个节点最多有两个孩子

2021-12-29 23:03:29 378

原创 数据结构与算法 KMP算法

假设有两个字符串S、T,S为长串,T为短串,寻找T在S中出现的位置。串的定义可以分为顺序串和链式串。此处以顺序串为例,结构定义如下(此处我们从数组位置1开始存储):#include<stdio.h>#include<stdlib.h>#include<string.h>#define MAXLEN 255typedef struct { // 串的顺序存储结构 char ch[MAXLEN + 1]; // 存储串的一维数组 i

2021-12-27 22:04:32 638

原创 数据结构与算法 队列

目录一、前言二,结构定义三、相关操作一、前言队列作为一种常用的结构,可以用顺序队列和链式队列实现。1、顺序队列2、链式队列二,结构定义1、顺序队列#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100typedef struct { // 队列的顺序表示 int * base; // 初始化的动态分配存储空间 int front; // 头指针 int re

2021-12-27 19:47:29 517

原创 数据结构与算法 栈

目录一、前言二、结构定义三、相关操作一、前言栈作为一种常用的结构,可以用顺序栈和链栈实现。1、顺序栈(两个指针分别指向栈底、栈顶)2、链式栈(和单链表一样,只不只能从链表头部进行)这两种存储方式各有优略,我们可以根据实际情况选择对应的存储方式。 下面,着重分析两种存储的定义和相关操作。二、结构定义1、首先使用顺序存储的方式定义一个栈的结构体,有栈底栈顶指针,和栈的大小。#include<stdio.h>#include<stdlib.

2021-12-27 16:59:09 530

原创 数据结构与算法 线性表

目录一、前言二、定义(顺序表与单链表)三、单链表相关操作一、前言线性表有两种存储方式,一是顺序存储,二是链式存储。1、顺序存储2、链式存储这两种存储方式各有优略,我们可以根据实际情况选择对应的存储方式。 下面,着重分析两种存储的定义和相关操作。二、定义(顺序表与单链表)实际中,我们会遇到各种场景,比如学生的信息存储或者图书馆书籍存储,这些需要用到数据结构。那么下面直接以图书馆的书籍为例子进行定义。1、首先使用顺序存储的方式定义了书籍的结构体,下面定义静态.

2021-12-22 20:19:10 465

原创 结构体指针

一、结构体指针结构体指针定义与赋值:#include<stdio.h>#include<stdlib.h>typedef struct struct_test{ int a; int b;}test;int main(){ test s; // 定义了一个结构体变量 s.a = 1; // 给变量的成员赋值 test* ss = &s; // 定义了一个结构体指针变量,并指向s ss->a = 92;

2021-12-22 18:46:08 553

原创 力扣121题 “买卖股票的最 佳时机”

1、题目描述(难度 简单)样例:数据范围2、题目解析方法一:用两个变量记录当前股票最小价格和,如果当前卖掉的最大利润,然后遍历数组的时候不断更新,最后输出的最大利润则是题目答案。c++代码如下:class Solution {public: int maxProfit(vector<int>& prices) { int minprice = int(1e9); // 当前遇到的最小价格 int maxp.

2021-12-17 15:16:35 828

原创 CSAPP 第二章 信息的表示和处理

计算机中研究三种最重要的数字表示。无符号(unsigned)编码基于传统的二进制表示法,表示大于或者等于零的数字。补码(two's-complement)编码是表示有符号整数的最常见的方式。浮点数(floating point)编码是表示实数的科学记数法的以2为基数的版本。整数的运算满足结合律,但是浮点数由于表示的精度有限,是不可结合的。大多数机器上,表达式(3.14+1e20)-1e20求得的值会是0.0,而3.14+(1e20-1e20)求得的值会是3.14。目录...

2021-12-17 13:19:18 449

原创 递归实现组合型枚举

1、题目描述从1 ~n这n个整数中随机选出m个,输出所有可能的选择方案。输入格式两个整数n,m,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n > 0,0mn,n + (n - m)​​​​​​​25输入样例4 2输出样例1 2 1 3...

2021-12-17 10:41:40 300

原创 递归实现排列型枚举

1、题目描述把1 ~ n这n个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式输入一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1n9输入样例3输出样例1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 2、题目解析如下如,采用dfs深度递归搜索树,加入n=3时,考虑每一个位置放哪个数,可

2021-12-16 22:49:07 759

原创 递归实现指数型枚举

1、题目描述从1到n这n个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。各行(不同方案)之间的顺序任意。数据范围1n15输入样例4输出样例4 3 3 4 2 2 4 2 3 2 3 4 1 1 4 1 3 1 3 4 1 2 1 2 4 1 2 3 1 2 3 4 2、题目解析如下如,采

2021-12-16 21:58:46 286

原创 CSAPP 第一章 计算机系统漫游

(前言本书的目的是让我们了解系统执行hello程序时,系统发生了什么以及为什么这样。我们通过跟踪hello程序的生命周期来开始对系统的学习。从它被创建开始,到在系统上运行,输出简单的消息,然后终止。我们将沿着这个程序的生命周期,简要地学习一些逐步出现的关键概念、专业术语和组成部分,后面的章节将围绕这些内容展开。)1、编译系统对.c文件hello.c编译产生可执行文件的命令 linux > gcc -o hello hello.c这个过程虽然是通过一条命令完成的,然而实际上编译系统的处...

2021-12-14 21:03:34 933

原创 分享自己学习到的科研方法

01 理解别人的论文对于科研,我们必须要有自己的insight,找新的idea。但是,我们不应该从挑别人论文的毛病开始,而是恰巧相反,我们应该从理解别人论文的优点开始!我们将别人论文中的优点,主要是insight,深入理解以后,在你自己的领域和研究的背景下面加以扩展,我们就可以得到一些新的现象,进而提出新的idea!为了深入的理解insights,我们应该动手做一些实验来验证别人论文中的insights。但不是复现别人的实验结果,各种因素可能导致复现困难。02提出自己的idea做一些实验来理解.

2021-08-01 19:20:16 359

原创 剑指 Offer 42. 连续子数组的最大和

输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。提示1 <=arr.length <= 10^5-100 <= arr[i] <= 100方法采用动态规划。分析:对于某个数,要么加入到已经存在的数列中,要么以这个数开始,重新起一个新的数列。公...

2021-07-22 21:27:10 64

机器学习入门经典总结

此书是一个对于机器学习入门者的很好一个介绍,入门应该如何开始。

2017-12-27

Python入门

Python是一门入门简单的语言,对于机器学习是一个不错的选择。次数比较适合新手,带你入门较快。希望对大家有所帮助。

2017-12-27

Matlab 2017b Win64 Crack

Matlab 2017b Win64 Crack是安装Matlab时的一个重要的包,会用到。

2017-11-13

jsoup学习书籍

此书籍对于学习jsoup的人来说比较适合,书籍里对jsoup的用法,如何解析html,比较详细,还有例子,能够很好的理解。

2017-09-15

javaScript入门ppt

对于javaScript入门学习者来说这是一本较好的书籍,里面详细介绍了javaScript语法。大家可以下载下来看看,希望对大家有所帮助。

2017-09-14

Linux学习书籍《Linux就该这么学》

这是一本很好的Linux学习书籍,特别是对于刚接触Linux系统的朋友来说,从Liinux安装到用户权限介绍,再到文件资源存储讲解,各种服务配置都讲得很详细。只有看过此书才会有深刻的认识。我为大家带来这本书,希望对Linux学习的朋友有一定帮助。

2017-09-12

前端学习思维导图

此压缩包包含web前端学习的思维导图,可以为刚学习前端的朋友带来一些指引,当然,对于老手来说也可以看看,希望对大家有一定的帮助。

2017-09-11

dbcp3个相关jar包

DBCP(DataBase connection pool),数据库连接池。是 apache 上的一个 java 连接池项目,也是 tomcat 使用的连接池组件。单独使用dbcp需要2个包:commons-dbcp.jar,commons-pool.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,用完后再放回去。

2017-09-10

Linux学习经典书籍之Linux内核设计

Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

2017-09-10

空空如也

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

TA关注的人

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