自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Javaweb

课程资源来源于——黑马程序员。

2025-11-05 15:19:33 820

原创 java学习

教程内容来源于--------本篇内容适用于c/c++基础的同学参考。

2025-09-05 21:05:51 603

原创 前端第二节(ES6+Vue)

let:变量const:常量const声明的数组可以添加或删除么?const声明的对象可以添加或修改属性么?答:可以的,因为数组和对象在JS中属于引⽤类型,对其做添加、删除等操作,并不改变其内存地址。

2025-07-02 00:03:19 724

原创 动态规划

dp[i][j]:走到[i,j]位置时,一共多少种方式。dp[i]表示:以i位置为结尾时,解码方法的总数。

2025-05-17 21:09:16 697

原创 SWUST数据结构下半期实验练习题

1013: 哈希表(开放定址法处理冲突)1076: 判断给定有向图是否存在回路。1011: 二叉排序树的实现和查找。1065: 无向图的连通分量计算。1056: 邻接表到邻接矩阵。

2025-05-10 14:29:29 507 1

原创 数据结构(并查集,图)

【代码】数据结构(并查集,图)

2025-03-29 15:19:33 468

原创 Linux(进程)

输入设备:键盘,鼠标,话筒,摄像头...网卡,磁盘输出设备:显示器,磁盘,网卡,打印机外设:输入设备+输出设备cpu(中央处理器)=运算器+控制器存储器:内存磁盘:外存(input/output->IO)1.程序运行,必须先加载内存!(体系结构规定)程序运行之前,在磁盘->文件上为什么要从磁盘加载(过程:input!)到内存?cpu获取,写入只能从内存中进行!软件运行:cpu执行我们的代码,访问我们的数据!只能从外设加载到内存,cpu才能获取。

2025-03-22 15:06:19 545

原创 python学习

1.由数字,字母,下划线构成,不能包含特殊符号2.数字不能开头3.变量名不能和python的“关键字” 重复4.python中的变量名,是大小写敏感的,区分大小写建议遵守:变量命名时尽量用描述性单词表示(define :定义)#形参列表中,可以有多个形参,多个形参之间使用逗号分割函数体#这一部分要带有一级缩进(带有缩进的代码,才是函数内部的语句)return 返回值#函数的返回值函数执行到return就意味着执行完了,return后面的值就是函数的返回值了return语句可有可无。

2025-02-11 17:03:50 1390

原创 封装红黑树实现map和set

用模板函数实现两个不同的函数一份模板 -> 编译器实例化出key的rb_tree和pair<k,v>的rb_tree。

2025-01-08 14:33:35 248

原创 c++(stack&queue&priority_queue)

不适合遍历,因为在遍历时,deque的迭代器要频繁的去检测其 是否移动到某段小空间的边界,导致效率低下,而序列式场景中,可能需要经常遍历,因此在实际中,需要线性结构时,大多数情况下优先考虑vector和list,deque的应用并不多,而目前能看到的一个应用就是,STL用其作为stack和queue的底层数据结构。的"连续"空间的数据结构,双开口的含义是:可以在头尾两端 进行插入和删除操作,且时间复杂度为O(1),与vector比较,头插效率高,不需要搬移元素;与list比较,空间利用率比较高。

2025-01-01 18:56:07 631

原创 前端第一节(html&css&javascript)

这是内容1这是内容2这是内容3这是一个有序列表这是有序列表1这是有序列表2这是有序列表3这是有序列表4自定义列表内容1

2024-12-25 17:07:17 1282

原创 红黑树基础知识及代码

红⿊树是⼀棵⼆叉搜索树,他的每个结点增加⼀个存储位来表⽰结点的颜⾊,可以是红⾊或者⿊⾊。通过对任何⼀条从根到叶⼦的路径上各个结点的颜⾊进⾏约束,红⿊树确保没有⼀条路径会⽐其他路径⻓出2倍,因⽽是接近平衡的。

2024-11-29 22:59:07 979 1

原创 EasyX

【代码】EasyX。

2024-11-24 19:53:54 282

原创 AVL树

• 场景1:h>=1时,新增结点插⼊在e⼦树,e⼦树⾼度从h-1变为h并不断更新12->15->10平衡因⼦,引发旋转,其中12的平衡因⼦为-1,旋转后10和12平衡因⼦为0,15平衡因⼦为1。• 场景1:h>=1时,新增结点插⼊在e⼦树,e⼦树⾼度从h-1并为h并不断更新8->5->10平衡因⼦,引发旋转,其中8的平衡因⼦为-1,旋转后8和5平衡因⼦为0,10平衡因⼦为1。4. 更新平衡因⼦过程中出现不平衡,对不平衡⼦树旋转,旋转后本质调平衡的同时,本质降低了⼦树的⾼度,不会再影响上⼀层,所以插⼊结束。

2024-11-21 16:20:57 718

原创 c++(map和set)

• set的声明如下,T就是set底层关键字的类型• set默认要求T⽀持⼩于⽐较,如果不⽀持或者想按⾃⼰的需求⾛可以⾃⾏实现仿函数传给第⼆个模版参数• set底层存储数据的内存是从空间配置器申请的,如果需要可以⾃⼰实现内存池,传给第三个参数。• ⼀般情况下,我们都不需要传后两个模版参数。• set底层是⽤红⿊树实现,增删查效率是 ,迭代器遍历是⾛的搜索树的中序,所以是有序的。O(logN)

2024-10-19 14:58:56 668

原创 Linux(软件安装,程序,指令,Makefile/make,git,gdb)

会自动给用户解决依赖问题(库)

2024-10-11 14:39:08 417

原创 c++(多态)

基类的析构函数为虚函数,此时派⽣类析构函数只要定义,⽆论是否加virtual关键字,都与基类的析构函数构成重写,虽然基类与派⽣类析构函数名字不同看起来不符合重写的规则,实际上编译器对析构函数的名称做了特殊处理,编译后析构函数的名称统⼀处理成destructor,所以基类的析构函数加了vialtual修饰,派⽣类的析构函数就构成重写。虚函数的重写/覆盖:派⽣类中有⼀个跟基类完全相同的虚函数(即派⽣类虚函数与基类虚函数的返回值类型、函数名字、参数列表完全相同),称派⽣类的虚函数重写了基类的虚函数。

2024-10-09 13:20:25 1154

原创 c++算法篇

来源于题解思路:

2024-09-17 19:34:09 591

原创 c++(继承)

目录继承的概念 继承⽗类成员访问⽅式的变化继承类模板按需实例化问题宏替换 ⽗类和⼦类对象赋值兼容转换---切割继承中的作⽤域隐藏规则:​编辑 继承---题目理解​编辑⼦类的默认成员函数1.构造函数​编辑2.拷贝构造 3.赋值重载 4.析构函数 实现⼀个不能被继承的类继承与友元​编辑继承与静态成员多继承及其菱形继承问题1.继承模型​编辑2.虚继承(解决菱形继承问题)----解决数据二义性3.多继承中指针偏移问题继承和组合1.父类的private在子类中不可访问,但可以间接访问需要标明类域, 实例化

2024-09-13 14:03:10 896

原创 c++(list)

双向:list/map/set(二叉树结构)... ++/--随机:vector/string/deque(连续的物理空间).. ++/--/+/-lt.sort(greater());find(input迭代器--只读--可传任意类型迭代器)链表合并(前提:两个链表有序)取小尾插。一个链表的节点转移到该链表某一位置。底层结构----决定使用哪些算法。sort(随机迭代器)链表合并(merge)

2024-09-03 13:26:10 953

原创 Linux(指令)

win界面----os开始时,都是黑屏终端+指令操作Linux也有图形界面----desktop os-----终端+指令操作。

2024-08-17 21:21:55 1122

原创 数据结构(排序)

R遇L:R先走,找小,没有找到比key小的,直接跟L相遇了,L停留的位置是上一轮交换的位置,上一轮交换,把比key小的值换到了L的位置。L遇R:R先走,停下来,R停下来的条件是遇到比key小的值,R停的位置比key小,L没有找到比key大的,遇到R就停下来了。gap越小,跳的越慢,但是越接近有序,当gap==1相当于插入排序就有序了。时间复杂度:O(N^2) 最坏情况:逆序(每次挪动的数据都比上一个小)gap越大,大的可以越快跳到后面,小的数可以越快跳到前面。时间复杂度: O(N^2) (好,坏情况)

2024-08-16 22:59:04 433

原创 数据结构(二叉树,堆)

然后删除数组最后一个数据,再进行。

2024-08-15 22:08:13 900

原创 字符函数和字符串函数

如果相等就继续往后⽐较,最多⽐较num个字⺟,如果提前发现不⼀样,就提前结束,⼤的字符所在的字符串⼤于另外⼀个。如果source指向的字符串的⻓度⼩于num的时候,只会将字符串中到\0 的内容追加到destination指向的字符串末尾。• strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置。• strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标记。

2024-08-09 00:14:07 683

原创 vs调试技巧

Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序;Release称为发布版本,它往往是进⾏了各种优化,使得程序在代码⼤⼩和运⾏速度上都是最优的,以便⽤户很好地使⽤。编译⽣成的可执⾏⽂件的⼤⼩,release版本明显要⼩,⽽debug版本明显⼤。

2024-08-08 23:19:45 540

原创 Linux(初学)

1945.2.14 埃尼阿克(第一台计算机)(军事用途)摩尔定律(计算机小型化,高性能化)摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。换言之,处理器的性能大约每两年翻一倍,同时价格下降为之前的一半。计算机私人公司(面向企业的大型计算机--IBM)(面向个人的计算机--Apple,Microsoft,英特尔)(联想)个人计算机发展---计算机+互联网---pc互联网时代---手机+互联网---移动互联网。

2024-08-06 20:43:43 869

原创 c语言基础知识

为了防⽌这种情况,使⽤ %s 占位符时,应该指定读⼊字符串的最⻓⻓度,即写成 %[m]s ,其中的 [m] 是⼀个整数,表⽰读取符串的最⼤⻓度,后⾯的字符将被丢弃。sizeof中表达式不计算(sizeof 在代码进⾏编译的时候,就根据表达式的类型确定了,类型的常⽤,⽽表达式的执⾏却要在程序运⾏期间才能执⾏,在编译期间已经将sizeof处理掉了,所以在运⾏期间就不会执⾏表达式了)\0 :null字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其ASCII码值是0.

2024-08-01 21:05:25 2947

原创 数据结构(链表题)

203. 移除链表元素206. 反转链表876. 链表的中间结点21. 合并两个有序链表CM11 链表分割OR36 链表的回文结构160. 相交链表141. 环形链表142. 环形链表 II138. 随机链表的复制链表链表与程序员相关的CPU缓存知识

2024-07-31 21:37:33 284

原创 c++(vector)

约等于顺序表。

2024-07-31 14:48:04 512

原创 数据结构(复杂度)

推导大O阶方法:1、用取代运行时间中的。2、在修改后的运行次数函数中,只。3、如果最高阶项存在且不是1,则。得到的结果就是大O阶。

2024-07-28 19:08:16 260

原创 c++(模版)

2. 对于非模板函数和同名函数模板,如果其他条件都相同,在调动时会优先调用非模板函数而不会从该模板产生出一个实例。1. 一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这个非模板函数。显式实例化:在函数名后的中指定模板参数的实际类型 Add(a1, d1)隐式实例化:让编译器根据实参推演模板参数的实际类型 Add(a1, (int)d1)在编译器编译阶段,对于模板函数的使用,编译器需要根据传入的实参类型来推演生成对应。class 类模板名。

2024-07-28 10:46:52 478

原创 知识点随记

char转int,用符号位补高位,8位变32位。32位机器,指针大小4个字节。

2024-07-26 23:13:14 186

原创 每日习题一练

实现一个算法,确定一个字符串s的所有字符是否全都不同。falses= "abc"true暴力求解建表标记思想ascll字符的ascll值都不会超过255,定义一张表标记出现的字符,如果在进行标记时发现已经被标记过了,则重复,节省了时间。

2024-07-26 23:09:23 315

原创 c++(string)

解决方案:a.内联(inline)/静态(static)只在当前文件呈现。查找在str1中的str2,找到则返回str2在str1中的指针。

2024-07-26 11:04:03 693

原创 c++(内存管理)

调用构造函数和析构函数抛异常用try/catch。

2024-07-24 19:29:30 1185

原创 C语言(操作符及数据在内存段的存储)

八进制每一位都是0~7,各自写成二进制最多三个二进制位就够了,故二进制转八进制,从二进制序列右边每三个二进制位换算一个八进制位,剩余不够三个直接换算。二进制转十六进制,从二进制序列右边每四个二进制位换算一个十六进制位,剩余不够四个直接换算。原因在于,使⽤补码,可以将符号位和数值域⼀。原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。(规则的选择取决于编译器,大部分编译器算术右移,vs算术右移)反码得到原码也是可以使⽤:符号位不变其他位取反,+1的操作。位,剩余的都是数值位(符号位都是⽤。

2024-07-23 11:36:51 751

原创 css基础知识

div p 不写长宽,继承父亲,不会撑大盒子。

2024-07-12 18:22:35 687

原创 c++初阶

namespace num //命名空间域int main()//访问头文件中rand()的地址//输出命名空间域rand的值return 0;命名空间只能用“域名::变量名”的格式访问---------若无命名空间查找符,则查找顺序:a.局部域 b.全局域。

2024-07-09 12:00:20 472

原创 SWUST OJ--计算机大类专业数据结构上半期实验练习题

972: 统计利用先序遍历创建的二叉树的宽度。960: 双向链表的操作问题。956: 约瑟夫问题的实现。956: 约瑟夫问题的实现。

2024-04-14 11:05:10 163 1

原创 数据结构(队列)

定义队列结构体队列基于链表实现,存储头节点和尾节点定义队列结构体。

2024-04-05 18:33:33 276 1

空空如也

空空如也

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

TA关注的人

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