自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (3)
  • 问答 (5)
  • 收藏
  • 关注

原创 C++系统编程篇——Linux初识(系统安装、权限管理,权限设置)

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

2024-05-14 16:56:14 953

原创 echarts实现金价可视化大屏(项目实战)

可视化大屏项目(无后端),代码已开源技术使用:html,css,js,echarts,本项目需要前端基础项目已使用github进行部署(github可部署静态网站,我并没有做实时更新的功能)可直接点击链接访问:GoldScope——金价可视化大屏开源地址:GitHub - Outlier9/GoldScope: 金价可视化大屏

2024-05-14 16:36:55 693

原创 C++内存管理——new/delete、operator new/operator delete

new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数 ,在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数,而malloc与 free不会。如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是: new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且。2. 在申请的空间上执行构造函数,完成对象的构造。

2024-04-17 18:24:27 1014

原创 C++类和对象(五)——友元、内部类、匿名对象

在类和对象阶段,大家一定要体会到,类是对某一类实体(对象)来进行描述的,描述该对象具有那些属性,那些方法,描述完成后就形成了一种新的自定义类型,才用该自定义类型就可以实例化具体的对象。

2024-04-17 18:23:42 986

原创 C++类和对象(四)——类的实现、const、explicit、static

将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。也就是说,该操作是对this的改变,因为this是隐式传递的,如果不加const便可直接调用函数,有改变this的风险,属于权限放大,这是不被允许的,加了const后属于权限的平移

2024-04-13 21:46:53 505

原创 C++类和对象(三)——⭐类的6个默认成员函数

因为:main方法中创建了Date对象d,而d中包含4个成员变量,其中_year, _month, _day三个是内置类型成员,销毁时不需要资源清理,最后系统直接将其内存回收即可;

2024-04-13 21:46:22 999

原创 C++类和对象(二)——实例化、对象模型、this指针

类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但是并没有实体的建筑存在,同样类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间。缺陷:每个对象中成员变量是不同的,但是调用同一份函数,如果按照此种方式存储,当一 个类创建多个对象时,每个对象中都会保存一份代码,相同代码保存多次,浪费空间。const在指针之前,修饰指向的内容(也就是指针指向的内容,而不是指针),在*之后,修饰指针本身。,在使用时就像使用自己的成员一样,更符合人类对一件事物的认知。

2024-04-11 16:09:58 1102

原创 C++类和对象(一)——引入和定义、访问限定符、封装、作用域

C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。结构体的定义,在C++中更喜欢用class来代替。// 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。一般情况下,更期望采用第二种方式。注意:上课为了方便演示使用方式一定义类,大家后序工 作中尽量使用第二种。

2024-04-11 16:09:24 603

原创 C++语言学习(三)——内联函数、auto、for循环、nullptr

在C++98中,字面常量0既可以是一个整形数字,也可以是无类型的指针(void*)常量,但是编译器默认情况下将其看成是一个整形常量,如果要将其按照指针方式来使用,必须对其进行强转。

2024-04-02 19:16:15 691

原创 C++语言学习(二)——⭐缺省参数、函数重载、引用

如果生命与定义位置同时出现,恰巧两个位置提供的值不同,那编译器就无法确定到底该 用那个缺省值。3. 缺省值必须是常量或者全局变量4. C语言不支持(编译器不支持)

2024-04-02 19:04:56 860

原创 C++语言学习(一)——关键字、命名空间、输入输出

关键字:namespace,后面跟命名空间的名字,然后加 {} ,{} 内即为命名空间的成员// bit是命名空间的名字,一般开发中是用项目名字做命名空间名namespace bit1 // 还是全局int x = 0;// 函数// 结构体int val;namespace bit2 // 还是全局int x = 2;//2. 命名空间可以嵌套int a;int b;int c;int d;

2024-04-02 18:58:09 743

原创 数据结构——二叉树 C语言代码实现(可直接运行)

原理见另一篇文章。

2024-03-20 23:27:31 244

原创 数据结构 二叉树 力扣例题AC——代码以及思路记录

遍历一遍所有节点,但是在遍历的过程中,进行当前节点和他的左子树与右子树结点的值的比较,前提是有左子树结点和右子树结点,如果说,有左子树也有右子树结点,就需要继续向下检查,如果值不同就返回false,遍历到最底下为空返回true开始返回,返回的时候用逻辑与,这样只要有一个false最后就不是单值,反之是单值。否则,返回 false。,因为他的左子树412与subroot相同,因此需要继续向下遍历并检测是否相同,因此在判断root的值是否相同后再以判断是否相同为条件,不相同继续向下遍历,直到检测到NULL。

2024-03-18 22:40:19 874

原创 git命令行提交——github

git clone+ 右键paste(github仓库地址)cd + 仓库路径(进入到仓库内部准备提交文件等操作)git branch(列出本地仓库中的所有分支)(dev1即为新分支)(切换到名为 dev1 的分支)然后需要在本地创建dev1文件夹,在该文件夹内就可以写入测试文件然后就可以在github上查看了在master分支(本地)添加文件并提交,和dev1分支一样的操作(也就是创建文件夹以后的操作)git statusgit add .

2024-03-09 20:24:57 969

原创 数据结构——二叉树 原理

设二叉树的根节点所在层数为1,层序遍历就是从所在二叉树的根节点出发,首先访问第一层的树根节点,然后从左到右访问第2层上的节点,接着是第三层的节点,以此类推,自上而下,自左至右逐层访问树的结点的过程就是层序遍历。由于现在对二叉树结构掌握还不够深入,为了降低大家学习成本,此处手动快速创建一棵简单的二叉树,快速进入二叉树操作学习,等二叉树结构了解的差不多时,我们反过头再来研究二叉树真正的创建方式(在文章底部)(1)满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。

2024-03-08 12:41:24 1310

原创 数据结构 栈和队列 力扣例题AC——代码以及思路记录

给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。

2024-03-02 08:00:00 819

原创 数据结构——栈和队列 原理及C语言代码实现(可直接运行版)

环形队列可以使用数组实现,也可以使用循环链表实现。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。实现,相对而言数组的结构实现更优一些。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。栈的实现一般可以使用。

2024-02-29 08:00:00 734

原创 数据结构链表力扣例题AC(4)——代码以及思路记录

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。最简单的方法就是比较两个链表中的值,将小的尾插到新链表中。创建一个新链表,一个指针head指向头结点,一个指针tail进行尾插操作,然后开始进行比较,结束条件是其中一方的值为空,如果tail还是NULL,说明新链表还没有值,就将head和tail都指向小的那一个,如果tail不为空了,那么继续尾插,让他的next去存这个小的的地址,然后让tail前移。小的值所在的list也前移。

2024-02-23 08:00:00 1133

原创 数据结构链表力扣例题AC(3)——代码以及思路记录

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null。

2024-02-21 08:00:00 875

原创 数据结构链表力扣例题AC(2)——代码以及思路记录

给你单链表的头节点head,请你反转链表,并返回反转后的链表。

2024-02-16 23:58:43 1155

原创 数据结构——链表 原理及C语言代码实现(可直接运行版)

存储都在数据段上,而在函数内部临时开辟的则存储在栈区(记忆技巧:栈区后来先出,生命周期短,适合存储临时使用的变量,在函数执行结束时会自动被释放),堆区存放的则是在函数运行过程中开辟出来的空间,需要程序员进行手动分区以及释放,也可能程序结束时由OS回收,所以也可能会发生内存泄漏问题。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。

2024-02-16 17:42:37 418

原创 数据结构链表力扣例题AC(1)——代码以及思路记录(含链表本机调试tips)

是空的话,说明正在移除的元素是头指针,因为这是进入当前循环的条件,删除头指针的话,也就表示删除了链表的地址,会发生内存泄漏,因此需要将head调整到指向下一个元素,再进行释放;快慢指针,fast指针和slow指针都指向head,fast指针每次走两步,slow指针每次走一步,当将整个链表都遍历了一遍以后,fast指向了尾部(总节点数为奇数时指向尾部节点,总节点数为偶数时指向尾部节点的后面也就是空指针),而此时slow指针刚好指向的是中间节点(总节点数为偶数时则为第二个中间节点),此时返回slow指针即可。

2024-02-16 00:24:15 587

原创 Hadoop增加新节点环境配置(自用)

8. nano /opt/module/hadoop-3.3.3/etc/hadoop/hadoop-env.sh 修改 JAVA_HOME export。1. 关闭防⽕墙,集群⼀般搭建在局域⽹内,公司在外部建⽴专业的防⽕墙,为了⽅便集群之间通信,请关闭集群中各节点的防⽕墙。编辑--->虚拟网络编辑器--->VMnet8--->还原默认设置--->NAT设置--->更改网关IP--->应用确定。设置 ---> 网络和Internet ---> 更改适配器选项 ---> 查看VMnet8,出现并显示已启用。

2024-01-26 23:30:45 1271

原创 操作系统——内存管理篇

快表,又称联想寄存器(TLB,translation lookaside buffer),是一种访问速度比内存快很多的高速缓存(TLB不是内存!),用来存放最近访问的页表项的副本,可以加速地址变换的速度。与此对应,内存中的页表常称为慢表。基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。

2024-01-26 15:25:34 75

原创 数据结构顺序表力扣例题AC——代码以及思路记录

有几种思路可以写,①新建一个数组,依次遍历nums1和nums2,并进行比较,加入到新数组中;第一种方法时间复杂度O(n),第二种O(n^2),所以优先考虑①,但是题目中要求最后提交的是nums1数组,所以不能新建数组,观察nums1,他的m个元素以后就都是0,则可以把m个元素以后的由0组成的那部分视为新数组,然后倒着进行比较,也就是先比较大的,然后哪个大哪个覆盖末尾的0,指针前移,因此需要三个指针,分别是i1,i2,进行比较,j用来记录当前nums1添加进去的元素个数和位置。nums2 的长度为 n。

2024-01-25 02:27:39 824

原创 数据结构——顺序表 原理及C语言代码实现(可直接运行版)

线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串……线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。

2024-01-23 23:38:53 373

原创 动态内存分配之 malloc、calloc、realloc 和 free 以及常见动态分配内存错误(附内存分配区域说明)

malloc、calloc、realloc、free说明,常见动态分配内存错误示例,C/C++程序内存分配区域划分

2024-01-22 18:50:51 391

原创 操作系统——进程管理篇

主要功能是对系统中的所有进程实施有效的管理,它具有创建新进程、撤销已有进程、实现进程状态转换等功能管程是一种特殊的软件模块,有这些部分组成:1.局部于管程的共享数据结构说明;2.对该数据结构进行操作的一组过程;3.对局部于管程的共享数据设置初始值的语句;4.管程有一个名字。管程的基本特征:1.局部于管程的数据只能被局部于管程的过程所访问;2.一个进程只有通过调用管程内的过程才能进入管程访问共享数据:3.每次仅允许一个进程在管程内执行某个内部过程。

2024-01-20 10:00:00 1598

原创 Visual Studio中,每次新建文件都会自动出现提前设置好的头文件配置方法

Visual Studio中,每次新建文件都会自动出现提前设置好的头文件配置方法

2024-01-19 23:58:55 770

原创 Hadoop——HDFS、MapReduce、Yarn期末复习版(搭配尚硅谷视频速通)

MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。自己处理业务相关代码+自身的默认代码。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。序列化是指将内存中的对象转换成字节序列(或是其他数据传输协议),以便将其存储于磁盘中(持久化存储)或进行网络传输的过程。

2024-01-16 18:42:25 559

原创 C语言分支与循环语句

这篇文章简单总结一下C语言的分支和循环,分支结构可以用if、switch语句实现,循环语句可以用while、for、以及do-while语句实现,重点解说这四种语句。

2023-10-09 10:26:50 116

原创 摄像头m2dock(MAIX-II DOCK)附所需软件

官方文档地址 https://wiki.sipeed.com/soft/maixpy3/zh/index.html。

2023-07-28 16:27:57 977

原创 计算机网络

传输层是计算机网络中的一个重要层级,它的主要作用是在网络中的不同主机之间提供端到端的数据传输服务。传输层使用协议来确保数据的可靠传输,并在需要时进行错误检测和纠正。常见的传输层协议包括TCP(传输控制协议)和UDP(用户数据报协议)。TCP是一种面向连接的协议,它使用三次握手来建立连接,并使用滑动窗口和确认机制来保证数据的可靠传输。TCP还提供流量控制和拥塞控制功能,以避免网络拥塞和数据包丢失。UDP是一种无连接的协议,它不提供可靠性保证,也不进行拥塞控制。

2023-05-17 17:17:42 602

原创 计算机网络

当内部网络中的设备需要与Internet上的设备进行通信时,NAT协议会将内部网络中的私有IP地址转换成公共IP地址,以便与Internet上的设备进行通信。当内部设备需要与Internet上的设备进行通信时,NAT协议会将内部设备的IP地址和端口号一起映射到公共IP地址和一个新的端口号上,以便与Internet上的设备进行通信。**MAC地址是硬件地址,与设备的IP地址不同,IP地址可以在网络中动态分配和修改,而MAC地址是固定的,无法修改。每个路由器都会根据这个信息,更新它的路由表,并转发数据包。

2023-05-17 17:16:42 689

原创 计算机网络

(1)广域网WAN 作用范围:几十到几千公里(2)城域网MAN 作用范围:一个城市,5~50km(3)局域网LAN 作用范围:1km左右(4)个人区域网PAN(无线个人区域网WPAN)范围:10m左右(1)公用网(公众网)电信公司(国有或私有)出资建造的大型网络,“公用”指所有愿意按电信公司的规定缴纳费用的人都可以使用这种网络(2)专用网某个部门为满足本单位的特殊业务工作的需要而建造的网络,不向外人提供服务这种网络是接入网,又称为本地接入网或居民接入网比特意思是一个“二进制数字”,因此一个比特就是二进

2023-05-17 16:57:25 388

原创 算法---动态规划

其中,找出规律,确定最优子结构是动态规划解题的第一步。最优子结构指的是,如果一个问题的最优解包含了其子问题的最优解,那么这个问题就具有最优子结构。状态转移方程是指在已知某个状态的情况下,如何推导出下一个状态的方程。动态规划的应用场景包括求最值的问题,如最长递增子序列、最小编辑距离、背包问题、凑零钱问题等等。如果一个问题可以将所有可能的答案穷举出来,并且发现存在重叠子问题,那么就可以考虑使用动态规划。在解决动态规划问题时,需要注意找出规律,确定最优子结构,写出状态转移方程,以及执行状态转移方程,得到最终解。

2023-03-24 19:03:58 435

原创 【二叉树】

平衡二叉树:要求对于每一个节点来说,它的左右子树的高度之差不能超过1,如果插入或者删除一个节点使得高度之差大于1,就要进行节点之间的旋转,将二叉树重新维持在一个平衡状态。假设中序遍历结果为LDR,后序遍历结果为LRD,那么可以根据LRD中的最后一个节点D找到根节点,然后在LDR中找到D的位置,左边的节点就是左子树,右边的节点就是右子树。假设前序遍历结果为DLR,中序遍历结果为LDR,那么可以根据DLR中的第一个节点D找到根节点,然后在LDR中找到D的位置,左边的节点就是左子树,右边的节点就是右子树。

2023-03-19 23:07:24 482 7

原创 算法基础课

快速排序 归并排序 二分查找

2023-03-18 23:44:33 280

原创 整个寒假挑灯夜读用学习压抑悲伤之情(寒假总结)

大保底终于强娶了魈,肝死我了!萌新找不到大佬于是变成了大佬!附字节跳动青训营建议,详情了解也可以私聊,方向前端后端,欢迎交流一起学习

2023-02-21 15:50:20 359 4

原创 web应用 —— JavaScript

web应用,从HTML到CSS再到JS三件套,持续更新中!第二篇——JS篇主要包含JS的基本语法、前端中嵌入JS代码方式、与HTML/CSS事件触发以及常用库

2023-02-12 08:45:00 517

2023年全国电子设计大赛竞赛题目(本科+高职高专)

2023年全国电子设计大赛竞赛题目(本科+高职高专)

2024-03-15

Python宿舍管理系统小论文期末大作业版

免费提供Python宿舍管理系统文章所配备的小论文,可自拿稍作修改参考,希望各位能给点个关注谢谢,仅作参考,如果不免费了请私聊

2023-02-20

离散数学复习笔记.pdf

离散数学复习笔记.pdf

2022-06-16

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

TA关注的人

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