自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 监督学习凑字

线性回归模型是一种通过线性方程描述自变量与因变量之间关系的统计分析方法,用于预测或解释变量间的定量依赖关系。分类: 一元线性回归模型、多元线性回归模型。训练集:假设呢,我这边就是一个一元的回归模型。(x,y) x表示的是输入的一个特征,y表示预测的一个结果。y−​fxy−​表示的是预测出来的一个结果值fwb​xwxbw表示的是权重,b表示一个偏置。避免过拟合的问题。增强模型的一个鲁棒性。

2025-04-01 23:56:10 1036 1

原创 机器学习的定义及分类

机器学习(Machine Learning, ML)是人工智能(AI)的一个重要分支,旨在通过,使计算机能够从数据中获取知识和经验,并利用这些。其核心思想是使用数据来训练计算机算法,使其能够从数据中学习并改进自己的性能,而无需明确地编程。

2025-04-01 20:18:27 459

原创 utf-8 转unicode

【代码】utf-8 转unicode。

2025-02-08 16:29:34 218

原创 utf-8字符判断及处理

UTF-8 最大的一个特点,就是它是一种编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。UTF-8 的编码规则很简单,只有二条:1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的 Unicode 码。因此对于英语字母,UTF-8 编码和 ASCII 码是相同的。2)对于n字节的符号(n > 1),第一个字节的前n位都设为1,第n + 1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的 Unicode 码。

2025-02-08 14:41:39 512

原创 C++四大类型转换

【代码】C++四大类型转换。

2024-12-26 14:31:41 110

原创 C++自旋锁

非自旋锁,非自旋锁和自旋锁是完全不一样的,如果它发现此时获取不到锁,它就把自己的线程切换状态,让线程休眠,然后 CPU 就可以在这段时间去做很多其他的事情,直到之前持有这把锁的线程释放了锁,于是 CPU 再把之前的线程恢复回来,让这个线程再去尝试获取这把锁。如果再次失败,就再次让线程休眠。而不像普通的锁那样,如果获取不到锁就进入阻塞。自旋锁(spinlock):是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁才会退出循环。

2024-12-24 13:47:14 294

原创 leecode 44. 通配符匹配

给你一个输入字符串 (s) 和一个字符模式 § ,请你实现一个支持 ‘?’ 和 ‘’ 匹配规则的通配符匹配:’ 可以匹配任何单个字符。’ 可以匹配任意字符序列(包括空字符序列)。判定匹配成功的充要条件是:字符模式必须能够 完全匹配 输入字符串(而不是部分匹配)。

2024-11-05 22:27:02 306

原创 C++线程池

C++17 Linux、 windows均可。

2024-11-04 21:32:42 319

原创 C++数字全转半角

【代码】C++数字全转半角。

2024-11-01 15:40:08 326

原创 C++线程

argsfnxx。

2023-05-25 17:12:49 1112

原创 mvcc1

什么是mvcc?mvcc又称多版本并发控制,主要为了提高数据库的并发性能。目的:主要处理的是读请求,在读写的时候,不用去竞争锁,提高读的性能。读请求:**快照读(主要读请求是快照读)**与当前读(非当前读 如update)四大特性:原子性:undo log持久性 redo log 已经提交的但未被持久化到磁盘上的一致性隔离性mvcc组成:undo log 版本链 readview版本链中含有trx_id(事务id) 与 roll_pointer(回滚指针)rea

2021-10-07 16:47:18 527 2

原创 innodb锁机制

innodb中的锁机制原理解析1.共享锁S锁,读锁,多个事务共享一把锁,都能访问到数据,只读,不可修改。A在读,B可读,但是不可写。select * from count where id = 1 lock on share mode;2.排他锁X锁,写锁,不能与其他锁并存。只有当获取排他锁的事务处理完后,其他操作方可进行。updata 自动加排他锁 -语句后加for updateinnodb行锁?锁的是什么?行锁就是给索引项加锁 ,否则就是表锁。3.意向共享锁IS: 表示事务准备给

2021-09-17 00:18:17 418

原创 hash--

哈希哈希概念实现机制哈希冲突解决哈希冲突方法闭散列与开散列闭散列开散列开散列的增容问题对比开散列与闭散列比较测试代码哈希概念哈希是C++11的产物,是为了提高查找效率所提出的一种关联式容器。底层结构:链表+(指针)数组哈希是一种高效用来搜索的数据结构,与传统的查找方式进行比较,发现传统的方式都需要进行元素的比较,性能高低取决于元素的比较次数。让元素在查找时不进行比较,或者减少比较次数。顺序结构以及平衡树中,元素关键码与其存储位置之间没有对应的关系,因此在查找一个元素时,必须要经过关键码的多次比较。

2021-09-01 04:39:23 557

原创 智能指针11

智能指针智能指针存在的必要性智能指针的使用及原理C++98中的智能指针C++11中的智能指针C++11中unique_ptr指针C'++11中的shared_ptrshared_ptr循环引用所引发的问题。如何解决shared_ptr所造成的循环调用所引起的内存泄露的问题智能指针存在的必要性malloc出来的空间,没有进行释放,存在内存泄漏的问题。异常安全问题。如果在malloc和free之间如果存在抛异常,那么还是有内存 泄漏。这种问题就叫异常安全智能指针的使用及原理RAII

2021-08-29 23:48:24 473

原创 map与set

map-setmap、set简介常见接口使用map构造map的insert操作map中的元素访问的操作map中的删除操作map中的find操作setset构造map、set简介常见接口使用map构造void testmap1(){ map<string, string> m1; map<string, string>m2{ {"apple","苹果"},{"orange","橘子"} }; cout << m1.size() << e

2021-08-29 01:04:57 230

原创 输入URL后发生了什么?

在浏览器中输入URL并回车后都发生了什么?一、解析URLURL(Universal Resource Locator):统一资源定位符。俗称网页地址或者网址。URL用来表示某个资源的地址。(通过俗称就能看出来)URL主要由以下几个部分组成:• a.传输协议• b.服务器• c.域名• d.端口• e.虚拟目录• f.文件名• g.锚• h.参数现在来讨论URL解析,当在浏览器中输入URL后,浏览器首先对拿到的URL进行识别,抽取出域名字段。二、DNS解析DNS解析(域名解析),

2021-08-28 02:07:30 331

原创 Linux总结

Linux的发行版本版本介绍操作系统概念操作系统概念命令分类命令分类

2021-08-20 02:17:03 230 1

原创 我的OJ系统

啦啦啦/。。

2021-08-19 10:11:26 507 3

原创 基于Huffman编码的文件压缩项目

文件压缩文件压缩概念及目的设计思路了解Huffman树选取的数据结构构建Huffman选取的数据结构保存字符及对应的编码文件压缩的类及对应方法构建Huffman树以及对应编码规则获取每个字符对应的压缩码书写压缩文件解码效果图文件压缩概念及目的概念:文件压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或着按照一定的算法对文件中数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法目的:紧缩数据存储容量,减少存储空间可以提高数据传输的速度,减少带宽占用量,

2021-08-15 14:28:05 479 3

原创 面经啊啊啊啊啊啊

面经C++对面向对象的理解。面向对象的三大特性讲一下多态指针与引用区别友元函数与友元类单继承、多继承、虚拟继承区别public、protected、private区别STL中迭代器失效什么是迭代器?STL六大组件static关键字const关键字extern"C"C++内存分布struct 和class区别vector与list区别智能指针操作系统进程、线程概念?区别?死锁静态链接与动态链接的区别进程间通信的方式,各自有什么特点?共享内存可以在不同的进程间通信吗?socket是怎么样进行进程间通信的?Lin

2021-08-13 16:41:51 2104 2

原创 linux 网络编程 ---高级I/O

高级I/O什么是高级I/OI/O分类阻塞I/O与非阻塞I/O同步I/O与异步I/O什么是高级I/OI/O分类阻塞I/O与非阻塞I/O同步I/O与异步I/O

2021-08-10 00:51:38 819

原创 Linux网络编程----网络接口层(数据链路层+物理层)

目录以太网协议--局域网中工作局域网的争用问题解决局域网的争用问题--交换机以太网帧格式跨网络传输认识MAC地址对比理解IP与MAC地址ARP协议ARP协议格式ARP协议作用ARP请求与ARP应答ARP请求ARP 应答查看ARP 和MAC地址对应的映射关系DNS(域名解析)ICMP--工作在网络层的协议ping命令有端口号吗?以太网协议–局域网中工作局域网的争用问题碰撞域:因为以太网同一时刻只允许一个人进行网络通信,所以整个局域网可视为一个碰撞域。详细看这个解决局域网的争用问题–交换机工作原

2021-08-09 23:27:56 1197 1

原创 Linux网络编程 -ip

目录ip报头如何做到报头与有效载荷的分离?TTL(8位生存时间)存在合理性?路由查找的本质集线器作用?IP分片问题与组装问题为什么要分片如何分片如何组装分片丢失怎么办网段划分---子网掩码--CIDR技术路由器功能特殊ip私网IP与公网IPNAT(Network Address Translator)技术路由ip报头->4位版本号(version): 指定IP协议的版本, 对于IPv4来说, 就是4.->4位头部长度(header length): IP头部的长度是多少个32bit,

2021-08-09 16:29:01 692

原创 Linux网络编程 传输层 TCP/UDP

目录如何标识一个通信端口号范围划分常见知名端口号进程与端口号常见网络命令查看当前主机的连接情况查看I/O情况查看cpu情况查看内存查看进程pid短连接与长连接问题UDPUDP特点UDP缓冲区常见UDP的应用层协议TCPTCP传输的可靠性序号和确认序号同时存在的原因?TCP中的接收缓冲区和发送缓冲区TCP首部的16位窗口大小流量控制6个标志位16位紧急指针超时重传机制三次握手四次挥手常用抓包命令滑动窗口流量控制拥塞控制/拥塞窗口延迟应答机制捎带应答小结相关面试如何理解TCP面向字节流二、如何解决粘包问题三、T

2021-08-09 00:39:33 1132

原创 网络编程 应用层协议 -HTTP

HTTP再次理解协议网络抓包工具再次理解协议网络抓包工具

2021-08-08 11:25:29 491

原创 面试---算法面试

算法二叉树二叉树的遍历(前序、中序、后序、层序)递归版本非递归版本二叉树的常见oj二叉树的右视图N叉树的层序遍历反转二叉树对称二叉树子树问题二叉树二叉树的遍历(前序、中序、后序、层序)递归版本前序//递归版本class Solution {public: void traver_binarytree(TreeNode*root,vector<int >&result) { if(root==nullptr) {

2021-08-07 18:00:00 662 1

原创 C++多态

一、多态的概念?通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态二、多态的条件?三、什么是重写?派生类中有一个跟基类完全相同的虚函数(即派生类虚函数与基类虚函数的返回值类型、函数名字、参数列表完全相同),称子类的虚函数重写了基类的虚函数条件:1.基类的成员函数必须是虚函数2.子类的成员函数可以不加virtual关键字,但一般建议加上3.基类和子类的虚函数原型必须一致,(返回值类型,函数名字,参数列表),有两个例外,返回值为类型指针或引用时可以,第二个

2021-08-06 16:15:21 236

原创 C++继承

继承继承概念基类和派生类对象赋值转换同名隐藏子类构造与析构基类中友元与static变量继承派生类的默认成员函数菱形继承面试总结继承概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。使用关键字class时默认的继承方式是private,使用struct时默认的继

2021-08-04 23:36:28 260

原创 C++模板进阶

模板进阶目标非类型模板参数模板的特化概念模板的编译函数模板的特化类模板化全特化偏特化--重点模板分离编译什么是分离编译模板分离所带来的优点普通.h文件实例化模板所造成问题解决方法首先介绍一下.hpp与.h区别解决方案--将头文件由.hpp替换掉.h模板优缺点目标非类型模板参数类模板的特化类模板特化的应用之类型萃取模板的分离编译非类型模板参数模板参数分类类型形参与非类型形参。类型形参即:出现在模板参数列表中,跟在class或者typename之类的参数类型名称。非类型形参,就是用一个常量作为

2021-08-02 00:07:52 213

原创 Linux 网络编程 --套接字编程

套接字编程认识端口号端口号与进程号的对应关系socket理解网络字节序UDP实现二级目录三级目录认识端口号端口号(port)是传输层协议的内容.端口号是一个2字节16位的整数;端口号用来标识一个进程, 告诉操作系统, 当前的这个数据要交给哪一个进程来处理;IP地址 + 端口号能够标识网络上的某一台主机的某一个进程;端口号与进程号的对应关系1)一个进程可以绑定多个端口号2)一个端口号只可以被一个进程绑定注:若是进程先绑定一个端口号,而后在fork一个子进程,这样的话就能够是实现多个进程绑定

2021-08-01 09:16:14 435

原创 Linux网络编程--初篇--初识计算机网络

初识计算机网络计算机网络定义与功能计算机网络定义计算机网络功能计算机网络分层OSI参考模型TCP/IP 体系结构标准分层的意义计算机网络所要关注的几大问题理解数据的传输局域网技术--局域网内传输局域网概念局域网特点局域网分层局域网中的一些问题介质访问控制CSMA/CD(基于冲突检测的载波监听多路访问技术)争用期与最短帧长概念二进制指数退避算法(随机延迟后重发)跨网络传输扩展知识公网ip与局域网ip(内网)计算机网络定义与功能计算机网络定义计算机网络就是将分散在不同地理位置上的具有自主处理能力的多台计算

2021-07-24 17:33:40 870 12

原创 Linux系统编程 多线程

多线程初识线程线程的概念线程的优缺点优点缺点了解pid(轻量级线程号)与tgid(线程组id)进程与线程概念解释同一所属组下多线程之间共享与独立的空间进程与线程的对比多进程与多线程对比线程控制线程的创建线程终止线程等待线程分离线程安全锁的本质加锁的时机加锁的接口加锁所带来的弊端死锁死锁的概念线程产生的必要条件避免死锁线程同步接口说明基于同步实现生产者与消费者模型POSIX信号量接口说明基于环形队列实现线程池初识线程线程的概念在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“

2021-07-23 14:26:42 896 3

原创 容器适配器---queue、stack、priority_queue

什么是配接器配接器(adapters)在STL组件的灵活组合运用功能上,扮演者轴承、转换器的角色。Adapter这个概念,事实上是一种设计模式。在设计模式中对adapter样式的定义如下:将一个class接口转化为另一个class接口,使原本接口不兼容而不能合作的classes,可以一起运作。使用1.应用于容器 container adapters , 比如stack和queue,其实就是一个适配器,他们通过修饰deque的接口而成就出的另一个容器风貌。2.应用于迭代器iterator adapte

2021-07-18 04:10:55 493 7

原创 Linux系统编程--信号篇

信号初识信号生活上的信号技术层面上的信号信号的分类信号的常见处理方式了解信号的几大步骤信号的产生初识信号生活上的信号你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”(操作系统可以根据你发出的信号你选择不同的动作)当快递员到了你楼下,你也收到快递到来的通知,但是你正在打游戏,需5min之后才能去取快递。那么在在这5min之内,你并没有下去去取快递,但是你是知道有快递到来了。也就是取快递的行为并不是一定要立即执行,可以理解

2021-07-17 15:55:06 1284 11

原创 剑指offer 04 二维数组的查找 05 替换空格

二维数组的查找class Solution {public: bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) { int size1=matrix.size();//行数 if(size1==0) { return false; } int

2021-07-15 14:58:08 154 6

原创 剑指offer 1.实现赋值运算符函数 2.数组中重复的数字

1.实现赋值运算符函数注意事项:1.必须将引用作为返回值。目的:实现连续赋值2.传入的参数为常量引用 目的:省去了一次构造、保护了原有数据3.确保释放自身原本占有的内存。目的:避免内存泄露4.判断传入的参数与自身是不是一个实例。如果是的话,就直接return *this。//1.首先将引用作为返回值 2.传入参数为常量引用CMyString&CMyString::operator=(const CMyString &str){ //4.判断传入的参数与自身是不

2021-07-15 13:27:46 135 1

原创 一文带你认识STL序列式容器--list

list什么是listlist的使用构造函数接口list相关迭代器使用容量相关的操作测试链表的修改操作链表的一些其他操作list中的赋值运算符list中的迭代器失效问题vector与list区别(重点)什么是listlist是序列式容器中的一种,底层是一个带头结点的双向循环链表。list的使用头文件#include常用接口介绍构造函数接口构造方式作用无参构造list<类型>name构建一个只含头结点的双向循环链表list<类型>name(s

2021-07-14 18:31:28 355 7

原创 STL--线性容器 -vector

vector什么是vector探究vector的一些常用函数构造函数赋值运算符的重载迭代器使用容量相关的函数及PJ版本下的扩容机制元素获取vector类对象修改探究vector种迭代器失效的问题模拟实现vector什么是vectorvector的介绍vector是表示可变大小数组的序列容器。就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。本质讲,

2021-07-11 22:58:46 234 5

原创 STL--线性容器 string

STL线性容器--stringstring介绍string类的大小构造函数赋值运算符的重载测试string下的迭代器测试容量与大小获取元素string类的修改测试string下的operation探究SGI版本下的深浅拷贝问题三级目录string介绍在C++下为按照类的方式动态管理字符串。底层:是一种顺序表的结构,元素是char类型的字符string提出的意义:1.string不用担心内存越界的问题。用字符数组的话你还要担心越界的问题,但用string类不用担心这个问题,原因是底层提供相应的扩容机

2021-07-11 12:02:12 292 2

原创 STL 第一篇 初识STL

STL什么是STLSTL组成--六大组件组件一:容器容器分类组件二:空间配置器(alloctor)组件三--算法组件4--迭代器什么是迭代器常见的迭代器组件五---仿函数 另名:函数对象什么是仿函数仿函数的示例组件六 ---- 配接器(适配器)什么是配接器使用什么是STLSTL,本质上为一个程序库。目的:为了复用性的提升为了建立数据结构和算法的一套标准,并且降低其间的耦合关系,以提升自身的独立性、弹性、交互性操作(相互合作性),STL得以诞生。STL价值:一方面。就低层次而言,STL带给我们一套

2021-07-09 21:39:38 2051 3

空空如也

空空如也

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

TA关注的人

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