自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【网络】socket套接字基础知识

前面我们已经学习了网络的基础知识,对网络的基本框架已有认识,算是初步认识到网络了,如果上期我们的学习网络是步入基础知识,那么这次学习的板块就是基础知识的实践,我们今天的板块是学习网络重要之一,学习完这个板块对虚幻的网络就不再迷茫,那话不多说进入今天的主题【网络】socket套接字基础知识⭐主体。

2024-07-21 10:43:15 852 11

原创 刷题训练之哈希表

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解基本思想:设计合适的哈希函数:确保元素能够较为均匀地分布在哈希表中,减少冲突。处理冲突。

2024-07-21 10:42:21 489 1

原创 【网络】网络基础入门

现在的人没有了网络就像鱼儿没有水一样,网络算是贯穿每一个人。网络看不见摸不着,整的挺恍惚,那我如何理解网络呢?学习网络那又该如何呢?⭐主体网络是指将多个计算机或设备通过通信线路、传输协议和网络设备连接起来,形成一个相互通信和共享资源的系统。把多台计算机互相连接起来,进行互相传输数据,进而完成数据共享。没有网络之前的你:在没有网络的情况下,数据也可以传输。可以通过使用数据线将两台设备(如计算机、手机或存储设备)直接连接在一起,可以实现数据传输。或者通过使用磁带或光盘等媒介来进行数据传输。

2024-07-08 17:10:54 962 12

原创 【Linux】线程池|单例模式|STL、智能指针线程安全|读者写者问题

今天是Linux的最后一片博客,相信大家已经坚持下来了,还是那句话 " 学,然后知不足 "!!!⭐主体。

2024-07-08 17:10:27 1375 19

原创 刷题训练之链表

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解画图,一定要画图,只有画好图才能直观形象便于我们理解。引入虚拟"头"结点。不要吝啬空间,大胆去定义变量。

2024-06-15 15:53:07 689 7

原创 【Linux】生产者消费者模型——环形队列RingQueue(信号量)

之前写的代码是存在不足的地方的:我们使用线程操作临界资源的时候要先去判断临界资源是否满足条件:并不能事前得知,只能通过先加锁判断,再检测,再操作、解锁,因为我们在操作临界资源的时候,有可能不就绪,但是我们无法提前得知,所以只能先加锁再检测,根据检测结果,决定下一步怎么走,那我们能不能通过一种办法提前得知是否满足条件呢?这样就不用加锁了,直接让线程等待或者访问:答案就是信号量⭐主体。

2024-06-15 15:52:03 983 14

原创 刷题训练之分治归并

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解数据结构:手撕各种排序我们下面题目所采用的方法都是三路划分法思想,这也和我们的标题分治不谋而合。

2024-06-11 15:02:06 835 10

原创 【Linux】生产者消费者模型——阻塞队列BlockQueue

Linux有两个重要的模型,一个是生产者消费者模型——阻塞队列BlockQueue,另一个则是生产者消费者模型——环形队列RingQueue。今天我们学习其中一个模型:【Linux】生产者消费者模型——阻塞队列BlockQueue。⭐主体生产者消费模型高效在哪里?高效体现在一个线程拿出来任务可能正在做计算,它在做计算的同时,其他线程可以继续从队列中拿,继续做运算,高效并不是体现在从队列中拿数据高效!而是我们可以让一个、多个线程并发的同时计算多个任务!

2024-06-11 15:01:41 1222 18

原创 【Linux】线程安全——补充|互斥、锁|同步、条件变量

每建造一个建筑物时,我们都需要考虑这个建筑物的安全问题,为每一人的安全做个保证,在Linux下的线程其实也有安全隐患,那我们该如何维护线程的安全呢?本篇博客带大家了解Linux下的线程安全。⭐主体。

2024-06-04 14:43:49 800 29

原创 刷题训练之分治快排

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解基本思想:数据结构:手撕各种排序C语言:快快快快快快快快快快排。

2024-06-04 14:43:43 675 20

原创 【Linux】多线程——线程概念|进程VS线程|线程控制

早期我们的计算机还只能单个进程运行,这样的话每个进程就只能独立存在,不可以进行每个进程交互,在这个基础上我们的先人(大佬)看看能不能多个进程同时运行,也就有了现在的多进程,那对比单个进程,多进程有什么优势呢?值不值得我们学习呢?咱们带上这两个问题来康康Linux下的多线程。⭐主体。

2024-05-31 17:37:19 1751 23

原创 【Linux】进程信号

上期我们学习了进程间通信,内容很多,干货满满,当然也是有难度的我们知道进程之间可以相互通信,就像七八十年代,我们远在他乡,思念家人,那时我们只能寄来的信了解家里的情况。我们可以用信来传达,那Linux是采用哪种媒介来传达信息的呢???这里不得不题Linux中的信号量了,那这个信号量到底是个啥呢???⭐主体。

2024-05-31 17:37:15 603 22

原创 【Linux】进程间通信——system V(共享内存 | 消息队列 | 信号量)

同一主机内的进程间通信方案,在OS层面专门为进程间通信设计的方案让不同的进程看到同一份资源system V标准下的三种通信方式共享内存消息队列信号量我们来看看 system V标准下的三种通信方式。⭐主体学习【Linux学习】进程间通信——system V(共享内存 | 消息队列 | 信号量)咱们按照下面的图解:​。

2024-05-08 22:10:52 959 45

原创 刷题训练之模拟

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解模拟算法 == 依葫芦画瓢解题思维要么通俗易懂,要么就是找规律,主要难度在于将思路转换为代码。

2024-05-08 22:10:17 981 12

原创 刷题训练之位运算

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解。

2024-04-30 17:35:21 1008 20

原创 【Linux】进程通信----管道通信

当我们创建两个进程,希望它们可以相互沟通,我的内容你可以读,我的内容你可以写,这种联系我们就需要我们的管道,这个管道就可以达成两个进程或者更多进程相互通信,那这个关系在Linux中是如何实现的呢,我们又该如何理解呢?⭐主体💫什么是进程间通信?进程具有独立性,每个进程都有自己的PCB,所以进程间需要通信,并且通信的成本一定不低(通信的本质:OS需要直接或者间接给通信双方的进程提供“内存空间”,并且要通信的进程,必须看到一份公共的资源)图解:如何去通信?采用标准的做法。

2024-04-30 17:34:49 1341 24

原创 刷题训练之前缀和

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网⭐知识讲解。

2024-04-27 14:23:24 1212 36

原创 【Linux】VScode远程连接Linux

作者:დ旧言~> 座右铭:松树千年终是朽,槿花一日自为荣。> 目标:自己能实现VScode远程连接Linux> 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安!​。

2024-04-27 14:22:34 1146 3

原创 刷题训练之二分查找

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台而今天我们的板块是二分查找。⭐知识讲解二分查找的时间复杂度:log(N)二分查找的范围:有序的数组或者无序⭐经典题型。

2024-04-23 12:55:53 1024 27

原创 【C++11】类型转换

在C语言中我们学习了类型转换,如 int 遇到 double 类型时 int 类型就会类型转换成 double,这些都是比较简单的类型转换,但是到 C++ 时,日期类需要转换成其它类型那该如何?面对这个问题,在C++11中完成这个补丁,使其C++在相关类也可以类型转换,那C++中如何实现类型转换呢?

2024-04-23 12:54:49 1069 31

原创 【Linux】静态库和动态库

库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。静态库(.a、.lib)动态库(.so、.dll)今天我们来谈谈 Linux 下静态库和动态库。⭐主体如果不想给对方我们的源代码,我们可以选择给用户提供我们的.o可重定位目标二进制文件(gcc -c 文件)与.h头文件。让用户用我们提供的.o文件进行链接即可。

2024-04-20 10:15:42 1233 17

原创 【C++11】特殊类设计

在C++的学习的过程中,我们已经知道如何创建一个类,之后我们学习了类的三大特性封装,继承,多态,在C++11中我们有一些特殊的类,我们称这些类为--->特殊类,那特殊类真的有那么特殊么???⭐主体学习【C++11】特殊类设计咱们按照下面的图解:​。

2024-04-20 10:13:56 988 33

原创 【C++11】智能指针

早期在C语言中我们学习了指针,这个指针学起来真是一个头两个大,当然学习到了这里想必大家对指针就不在害怕了,为了填上C++的不足在C++11中就扩展了智能指针,难道智能指针就真的那么智能吗?⭐主体。

2024-04-16 22:38:41 982 39

原创 【Linux】文件系统软硬链接的那些事儿

我们已经知道了简单的文件知识,文件的读写呀,管理文件呀等等等,那我们来想我们学习的文件都时独立,两个文件不能相互沟通,就好像需要过一条河,需要一座桥,使两岸可以来往,那文件的来往那又该如何呢?这里不得不提出软硬链接了。⭐主体我们大致了解磁盘的物理结构、存储结构、逻辑结构;然后就是文件系统与inode的认识。最后是软硬链接,软硬链接本质区别就是有无独立的inode。

2024-04-16 22:38:15 2249 29

原创 【C++11】异常知多少

想必我们写代码写过bug把,有句话说的好,一天写代码,三天改bug。有些浅层的代码bug在C++11已经给出,我们称这个叫异常,举个简单的栗子,我们 0 是不可以做被除数的,这里我们用 C++11 的异常就可以防止代码崩溃,让我们调试时也更加舒服,所以学习C++11的异常是必须的。⭐主体公司项目一般会进行模块划分,让不同的小组完成不同的模块;所以需要对抛出异常这件事进行规范,如果没有规范,负责最外层捕获异常的人就麻烦了,需要捕获大家抛出的各种类型的异常。

2024-04-13 14:09:55 628 15

原创 【Linux】基础IO----理解缓冲区

缓冲区大家其实不陌生,像我们使用的 VS2019 编译器这里就有缓冲区,那它到底在哪呢,比如我们打印时的窗口需要我们输入,这里就有缓冲区。其实在输入我们也好奇为什么编译器会等待我们输入,这里就不得不谈我们缓冲区的相关知识,那具体是什么呢?今天我们来解开这层面纱。⭐主体。

2024-04-13 14:09:37 1074 21

原创 【Linux】基础IO----系统文件IO & 文件描述符fd & 重定向

最早我们在C语言中学习关于如何用代码来管理文件,比如文件的输入和文件的输出,一些文件的接口,掌握上述的知识只能说是对文件入门而已,在Linux中我们是一切接文件的,如何深入学习文件的知识这是一个难题,今天我们所探讨就是Linux的基础I/O。⭐主体。

2024-04-08 21:27:39 1274 31

原创 【C++11】C++11深度解剖

学习了C++98,必然是需要学习C++新的语法,咱们今天就开始学习C++11.⭐主体相比C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率。

2024-04-08 21:27:10 1464 30

原创 【C++】位图

前面我们已经学习了开散列实现unordered_map与unordered_set的封装,在这个封装当中能拓展出一个知识点--->位图,位图其实是开散列实现unordered_map与unordered_set的封装的一个应用场景,那它这个实际应用到底是个啥呢?今天我们就来看看⭐主体💫 位图的。

2024-03-31 13:37:48 1158 10

原创 【C++】开散列实现unordered_map与unordered_set的封装

我们已经模拟实现了哈希表,当然需要用哈希表来封装相关容器,最初的map和set封装是用红黑树,所以我们就不再封装了map和set,来封装它们的同胞兄弟unordered_map与unordered_set。对比前面map和set的封装还是比较简单的,咱们走起吧!!!⭐主体。

2024-03-31 13:37:43 1024 22

原创 【C++】手撕哈希表的闭散列和开散列

谈到哈希表,大家都做过这样的题目,统计字符串的字母个数,像这样的题目可以创建一个数组,每个字母采用 a['ch']++ 计入数组中,这样的数组我们称之为哈希表,这种哈希表也是最简单的,如果说为了方便直接调用哈希表,那这个哈希表该如何模拟呢?这个问题也是今天我们所探讨的,手撕哈希表。⭐主体。

2024-03-24 20:26:42 1412 31

原创 【C++】map和set封装

map和set的知识我们学习了,模拟实现我们已经实现了AVL树和红黑树。熟练知识点为map和set的使用提供了前提,手撕AVL树和红黑树让我了解到map和set的底层如何实现,有了知识点和两树的模拟铺垫,那我们该如何封装map和set呢?⭐主体​class setprivate:class mapprivate:{}//普通迭代器的时候,它是拷贝构造//const迭代器的时候,它是构造,支持用普通迭代器构造const迭代器{}💫解引用操作作用:返回对应结点数据的引用。

2024-03-24 20:26:38 988 28

原创 刷题训练之滑动窗口

最早博主续写了牛客网130道题,这块的刷题是让同学们快速进入C语言,而我们学习c++已经有一段时间了,知识储备已经足够了但缺少了实战,面对这块短板博主续写刷题训练,针对性学习,把相似的题目归类,系统的刷题,而我们刷题的官网可以参考:​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台而今天我们的板块是双指针问题。⭐知识讲解⭐经典题型。

2024-03-17 22:08:01 855 31

原创 【C++】手撕红黑树

相信大家肯定听过在C++大名鼎鼎的两颗树,这两颗树分别是AVL树和红黑树,学过的小伙伴听到都是瑟瑟发抖,像一些大厂中可能会考手撕AVL树或红黑树。学习这两棵树确实难度很大,正所谓难度越大动力就越大,那本篇我们学习这两棵树的一颗树--红黑树。⭐主体。

2024-03-17 22:06:03 2514 31

原创 【C++】手撕AVL树

相信大家肯定听过在C++大名鼎鼎的两颗树,这两颗树分别是AVL树和红黑树,学过的小伙伴听到都是瑟瑟发抖,像一些大厂中可能会考手撕AVL树或红黑树。学习这两棵树确实难度很大,正所谓难度越大动力就越大,那本篇我们学习这两棵树的一颗树--AVL树。⭐主体。

2024-03-15 21:13:00 1726 18

原创 【C++】map和set深度讲解

早期我们学习了顺序容器(vector,list...),像这块容器中的元素都是按照顺序存储的,学习起来相对来说比较轻松,这个轻松是相对的,在C++STL中我们还有一种容器为关联式容器,这种容器在底层的实现及其复杂,但是使用起来相对容易,也是苦了我们编译器。关联式容器比较有代表性的就是map和set,那它们又是使用呢,又有什么优点呢?带上这些问题进入今天的学习。⭐主体set是按照一定次序存储元素的容器。在set中,元素的value必须是唯一的。

2024-03-15 21:12:56 1105 17

原创 【C++】深度解剖多态

前面我们学习了继承,在c++的面向对象中是重要的部分,而c++另一个重要的部分就是多态,这个板块很实用,在java中使用起来尤其频繁,Java这个语言也是借鉴了c++使用起来比较轻松,学习c++的多态也是必不可少的。⭐主体💫在虚函数的后面写上 =0 ,则这个函数为纯虚函数。包含纯虚函数的类叫做抽象类(也叫接口类),抽象类不能实例化出对象,但可以new别的对象来定义指针,例如Car* pBMW = new BMW;子类继承后也不能实例化出对象,只有重写纯虚函数,子类才能实例化出对象。

2024-03-10 14:13:21 876 17

原创 【C++】二叉树进阶之二叉搜索树

前期呢我们学习了简单二叉树,这个简单真的是一点都不简单呀,如果大家对二叉树的知识点忘记的小伙伴们可以看看这篇博客二叉树的实现-CSDN博客,这篇博客不单单是二叉树的进阶,这次的知识是为了后面的map和set以及红黑树...打下基础,c++的学习也是上了一个层次,进入今天的主题----二叉树进阶之二叉搜索树。⭐主体。

2024-03-10 14:13:18 1274 22

原创 【c++】继承深度解剖

你肯定听过某男子继承百亿家产吧,继承的东西就等于自己的,在c++中也继承,所继承的儿子,都有父类的属性,这个属性可能是父类的成员函数,成员变量...。我们直接再创建一个类就可以了定义属性,那我们为什么需要继承类的属性呢?今天由问题的引出,我们来探讨c++继承的方便。⭐主体💫很多人说C++语法复杂,其实多继承就是一个体现。有了多继承,就存在菱形继承,有了菱形继承就有菱形虚拟继承,底层实现就很复杂。所以一般不建议设计出多继承,一定不要设计出菱形继承。否则在复杂度及性能上都有问题。

2024-03-03 21:03:59 1382 27

原创 【c++】模板进阶

早期我们学习了模板,只能说浅学,很多重要的知识点都没有讲解,今天我们来深度讲解模板。⭐主体优点模板复用了代码,节省资源,可以更快的迭代开发,C++的标准模板库(STL)因此而产生。增强了代码的灵活性。缺陷模板会导致代码膨胀问题,也会导致编译时间变长。出现模板编译错误时,错误信息非常凌乱,不易定位错误。模板这个语法整体而言肯定是优点远大于缺点。

2024-03-03 21:03:55 1140 22

贪吃蛇.mp4

贪吃蛇.mp4

2023-11-14

汉诺塔.mp4

汉诺塔.mp4

2023-05-07

空空如也

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

TA关注的人

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