自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 端口号为什么最多有65535个?

端口号为什么最多有65535个?在TCP、UDP协议的开头,规定了源端口和目标端口都是16位。端口号的取值范围就是0-65535。

2022-02-26 15:35:32 3335

原创 一个类对象,使用new关键字为其分配内存, 然后其内部对象是否需要使用new关键字为其分配内存,使用new与不使用new的区别是什么

结论:如果B类的成员变量a是A类型 B对象在分配内存时,会调用A的默认构造,为a对象分配内存. 然后在B对象析构之前,会调用a对象的析构函数对a进行析构.如果B类的成员变量a是A*类型,那么在使用a对象之前需要使用new关键字为a分配内存空间。 然后在B的析构函数中 delete a;这也验证了new 与 delete要配对使用class A {public: A() : b(3) { DLOG(INFO) << "调用了a的默认构造函数\n";

2022-02-10 10:26:17 576

原创 使用CMake工具编译源码来生成库文件过程

进入包含CMakeList.txt的目录下,执行一下命令mkdir build cd build cmake [option] .. //根据CMakeList.txt文件生成makefile文件make -j4 //利用多处理器优势,加快编译速度make install //将库文件拷贝到某目录下,一般在/usr/local/lib, //将头文件拷贝到某目录下一般在/usr/local/include下make -j4作用...

2022-02-08 15:45:44 370

原创 高级数据结构(五)ac自动机

高级数据结构(五)ac自动机前言一、ac自动机二、代码演示前言ac自动机是解决多模式字符串匹配的算法。KMP是单模式字符串匹配算法。Trie也可以解决多模式匹配的问题。但是Trie在匹配多个模式串时需要回溯。ac自动机就是在Trie的基础上,通过构建fail指针(失配指针)来避免回溯。一、ac自动机偷个懒,理解ac自动机请看这篇文章AC自动机讲解超详细二、代码演示//// Created by lhx on 7/24/21.//#include <stdio.h>#incl

2021-07-24 13:24:14 91

原创 高级数据结构(四)字符串匹配算法

高级数据结构(四)字符串匹配算法前言一、KMP算法二、Sunday算法三、代码实现前言字符串匹配算法解决的问题是:在母串中查找子串出现的位置。例如 母串:abcdabc 模式串:abc。能够看到模式串abc存在于母串中,返回0,若模式串是bcd,则返回1;字符串匹配算法我知道的有5种:暴力匹配法、hash匹配法、KMP、Sunday、shift-end;本文中只将KMP和Sunday算法。如果想要了解另外几种算法,自行搜索下。一、KMP算法KMP算法的核心思想就是,要利用之前遍历过的信息,减少不

2021-07-23 23:27:30 185

原创 高级数据结构(三)字典树

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码

2021-07-23 13:27:51 60

原创 高级数据结构(二)平衡二叉查找树

平衡二叉查找树(avl树)一、平衡二叉查找树二、代码实现二、实验结果总结一、平衡二叉查找树avl树是对二叉查找树的改进,应该对比二叉查找树来学。性质1.具有二叉查找树的所有性质2.平衡条件:任意一个根左右三元组,要满足左子树与右子树高度之差不超过13.旋转操作:保证插入删除后,整棵树满足平衡条件,旋转后的序列顺序应保持不变。有LL、RR、LR、RL类型的旋转。适用场景由于插入删除操作要做旋转操作满足平衡条件,所以适用于查询多、插入删除少的场景。二、代码实现//// Cr

2021-07-23 09:45:17 74

原创 高级数据结构(一)二叉查找树

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-07-22 21:02:34 83 1

原创 并发模型——前置知识

并发模型一、系统调用二、高级IO1.IO多路复用2.非阻塞IO(NIO)3.异步IO(AIO)三、并发和并行一、系统调用解释下系统调用:系统调用,就是操作系统内核提供给用户进程的接口。系统调用的目的:一些敏感的操作,让内核去完成,比如IO操作。用户进程是没有权限去执行的。操作系统内核具有最高的权限,可以使用计算机的所有资源。用户进程想要执行敏感操作,需要借助内核去完成。用户态和内核态概念:多数计算机有两种运行状态,用户态和内核态。操作系统内核运行在内核态,而其他进程运行在用户态。内核态模式下,

2021-07-22 10:25:43 73

原创 设计模式-结构型模式

结构型模式 介绍如何将类和对象组装成较大结构,同时保持代码的灵活和高效。代理模式:控制着原对象的访问,并允许将请求提交给对象前后进行一些处理。适配器模式 :让互不兼容的接口能够完成交互。桥接模式: 可以将一个大类或者一系列紧密相关的类拆分成抽象和实现两部分,以便开发时使用。组合模式: 可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。装饰器: 在不改变原有代码的情况下, 增强对象的功能。享元模式 : 它摒弃了在每个对象中保存所有数据的方式,通过共享多个对象所共有的相同状.

2021-02-19 10:09:46 40

原创 设计模式-创建型设计模式理论梳理

最近正在学习设计模式,设计模式主要分为三大类型:创建型模式,结构型模式,行为模式。目前刚看完创建型模式,练习了基本的样例。梳理下所学~~

2021-02-15 21:39:58 109

空空如也

空空如也

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

TA关注的人

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