- 博客(60)
- 收藏
- 关注
原创 学习笔记-数据结构-线性表(2024-04-23)
指针La和Lb分别是两个带头节点单链表的头指针,将表La的第i个元素其len个元素删除并插入到表Lb的第j(j>=1)个元素之前。将La中的第i个元素开始的Len个元素插入到Lb中的第j个位置。
2024-04-24 16:45:26 71
原创 学习笔记-数据结构-树与二叉树(2024-04-23)
这是因为每个叶节点都有2个空指针,每个度为1的节点都有1个空指针,空指针总数为2n0+n1,又因为n0=n2+1,所以空指针的总数为n0+n1+n2+1=n+1。附设指针pre指向刚刚访问过的节点,指针p指向正在访问的节点,即pre指向p的前驱。在中序遍历的过程中,检查p的左指针是否为空,若为空就将它指向pre;若无右子树,令rchhild指向其后继节点,还需要增加两个标志域,以标识指针域指向左(右)孩子或前驱(后继)。二叉树的线索化是将二叉链表中的空指针改为指向前驱或后继的线索。
2024-04-24 16:08:09 111
原创 学习笔记-数据结构-树与二叉树(2024-4-22)
的访问流程:1⃣️先访问当前节点的元素,然后沿着当前节点的左孩子,将元素入栈,一直循环先访问再入栈,直到左孩子为空;2⃣️栈顶元素出栈,并且判断有没有右孩子,如果没有右孩子,继续栈顶元素出栈;2⃣️若队列非空,则队头节点出队,访问该节点,若它有左孩子,则将其左孩子入对;若它有右孩子,则将其右孩子入队。的访问流程:1⃣️沿着根的左孩子,依次将元素入栈,直到左孩子为空;2⃣️栈顶元素出栈并访问,并且判断它是否有右孩子,如果右孩子为空,继续执行2;的思路分析:1⃣️沿着根的左孩子,依次入栈,直到左孩子为空。
2024-04-23 09:54:52 127
原创 学习笔记-数据结构-线性表(2024-04-21)
假设有两个元素值递增有序的线性表La和Lb,均以带头节点的单链表作为存储结构,编写算法将La表和Lb表合并为一个按元素值递减有序排列的线性表Lc,并要求利用原表(La和Lb表)的节点空间存放表Lc。: 在算法执行过程中,pa是一个遍历指针,用于顺序访问La链表中的节点。: 指向第二个有序单链表的头节点,该链表中的元素同样按递增顺序排列。: 指向第一个有序单链表的头节点,该链表中的元素按递增顺序排列。: 指向结果单链表的头节点,合并后的链表将按元素值递减有序排列。
2024-04-22 17:47:34 229
原创 学习笔记-数据结构-线性表(2024-04-17)
指针变量,始终指向q节点的前一个节点。在删除q所指向的节点时,s的next将被更新为q->next,从而维持链表的连续性。在内层循环中,q从p所指向节点的下一个节点开始,遍历p之后的所有节点。它用于寻找和删除与p指向节点的data值相同的节点。- 参数变量,代表链表的头节点。在调用DelSameNum函数时,需要传递链表的头节点的地址给这个参数,从而允许函数对链表进行操作。- 指针变量,用于在链表中顺序遍历节点。在外层循环中,p从头节点开始,依次指向链表中的每一个节点,直到最后一个节点。
2024-04-18 17:52:16 214 1
原创 学习笔记-数据结构-线性表(2024-04-16)
int value;代码思想:双指针操作(快慢指针),利用p、q两个指针实现,p先走k-1步,然后p和q再同时出发,当p指向最后一个节点时,正好q指向了链表中倒数第k个节点。// 声明并初始化两个用于遍历链表的指针p=head;q=head;// 循环,目的是将p移动到正向数第k个节点的位置for(i=1;inext;// 持续遍历直到p指向成最后一个节点// p q 两个指针都向下一个节点移动。
2024-04-17 15:10:44 445 2
原创 Controller接收Postman的raw参数时,属性值全部为空
后端代码如下:Requset对象为:Controller:PostMan的Header中设置如下行:PostMan的Body,选择raw格式:发送之后request对象的属性结果:是不是失效?可能是@RequsetBody注解的问题最终发现@RequestBody引包错误!应该要引而swagger同样有一个同名注解:写在同一个地方,都不会报错!!!在引入了swagger的朋友们一定要注意!
2023-10-25 10:58:01 849 1
原创 [问题解决] java中InputStream转为MultipartFile
我所处理的服务端需要进行Feign调用,其中出现了需要文件传输的步骤。因此需要从中进行处理,返回MultipartFile给到对方。由于服务端的文件存于OSS中,我能拿到的只有文件所在url。被调用方的Client采用MultipartFile接收。自己实现一个MulitpartFile接口。
2023-10-09 17:53:43 863
原创 [机器学习]线性回归初探
指给定一个输入,预测一个连续的输出值。:指给定一个输入,将其分为若干个预定义的类别中的一种。分类算法中会给出一个明确的类别。分类和回归的区别在于输出的类型不同,分类输出离散的类别标签,而回归输出连续的数值。举个例子,如果我们要通过一张图片判断它是狗还是猫,这就是一个分类问题;如果我们要预测这张图片上狗的年龄,这就是一个回归问题。如果我们要通过一个人的症状来判断他们患的是哪一种疾病,这就是一个分类问题;如果我们要预测这个人的寿命,这就是一个回归问题。
2023-03-29 16:06:29 356 1
原创 Java中的集合 1
返回的列表由该列表支持,因此返回列表中的非结构性更改会反映在该列表中,反之亦然。)返回的列表由该列表支持,因此返回列表中的非结构性更改会反映在该列表中,反之亦然。如果支持列表(即此列表)在结构上以任何方式修改,而不是通过返回的列表,则此方法返回的列表的语义将变为未定义。如果支持列表(即此列表)在结构上以任何方式修改,而不是通过返回的列表,则此方法返回的列表的语义将变为未定义。如果这个集合适合指定的数组,并且有空闲空间(即,数组的元素比这个集合多),则紧跟在集合末尾的数组中的元素将被设置为空。
2023-03-19 17:45:37 427 3
原创 [手写OS]动手实现一个OS 之X86实模式下的汇编开发
x86实模式下 汇编开发是一个 intel x86实模式中的汇编程序开发类型。它涉及操纵几个16位处理器寄存器,并仅处理内存中的物理地址(与受保护模式相对)。这种类型的编程中最广为人知的应用就是1980年代编写的DOS磁盘操作程序。而所有现代的X86操作系统都是使用的保护模式,但是嘞,当计算机启动的时候,肯定不能是以保护模式启动的,通过实模式启动,并负责切换到保护模式,而这个从实模式切换到保护模式的这个过程,那就必须在实模式下运行。
2023-03-09 16:59:13 518
原创 [SQL Statements] 基本的SQL知识 之DDL针对表结构和表空间的基本操作
在MySQL中,一个数据库可以包含多个表,每个表是由若干个列(column)和行(row)组成的。表是存储数据的基本单位,用于组织、管理和存储数据。MySQL中的表空间(Tablespace)是一个逻辑存储单元,它是由若干个数据文件(data files)组成的。表空间用于存储表和索引数据,每个表和索引都有一个关联的表空间。在MySQL中,每个表和索引都必须属于一个表空间,而每个表空间可以包含多个表和索引。MySQL中的表空间有两种类型:系统表空间和用户表空间。
2023-03-08 16:39:40 396
原创 [SQL Statements] 基本的SQL知识 之DDL针对数据库的基本操作
在 MySQL 中,Database(数据库)是一组有组织的数据集合,可以存储和管理相关数据的容器。一个数据库可以包含多个表(Table),每个表可以包含多个数据行(Row),每行可以包含多个数据列(Column),用于存储数据的字段。通过对数据库进行操作,可以轻松地对其中存储的数据进行添加、删除、更新和查询等操作。MySQL 中的数据库还有一些其他的特性,例如可以创建索引来优化查询性能,可以创建视图来方便查询和使用,可以创建存储过程和触发器来执行复杂的业务逻辑等。
2023-02-26 10:23:32 531
原创 Ubuntu64位下安装Anaconda3的详细过程
请按照提示一步步进行安装,并在最后选择是否将 Anaconda 加入系统环境变量。如果选择不添加环境变量,则需要手动将 Anaconda 加入 PATH 环境变量。下载 Anaconda:首先,您需要在 Anaconda 的官网上下载适合您的 Linux 版本的安装包。创建虚拟环境:为了避免不同项目之间的冲突,建议为每个项目创建一个独立的虚拟环境。默认这个anaconda会安装在 /home/你的用户名/anaconda3 中。含有如图所示的内容,即说明已经下载好了。将Anaconda配置到环境变量中去。
2023-02-24 13:42:57 1376
原创 [问题解决] user 不在 sudoers 文件中。此事将被报告。
在一次测试中,用普通用户登录到系统后通过执行sudo执行命令的时候,出现了异常情况。
2023-02-21 15:43:24 2356
原创 [面试题] Java中ArrayList和LinkedList什么区别
ArrayList和LinkedList都实现了List接口,ArrayList是基于索引的数据接口,它的底层是采用的数组实现,以O(1)的时间复杂度对元素进行随机访问。LinkedList是基于双向链表的形式存储数据,每个元素和他的前后元素链接在一起,以O(n)的时间复杂度进行查找。相比于ArrayList来讲,LinkedList的插入,删除操作更快,因为当元素背添加到集合任意位置的时候,不需要像数组那样重新计算大小或大批量数据移动。
2023-02-08 19:24:56 600
原创 [面试题] Java高并发中的集合有哪些?
在jdk1.0中就存在了Vector和Hashtable,这两者均是直接采用synchronized修饰方法以保证线程安全,然而这样的处理形式导致性能不高,因此在jdk1.2之后引入了ArrayList、LinkedList、HashMap等线程不安全的集合,这些线程不安全的集合性能会更高,但是想要用ArrayList、HashMap,并希望保证其线程安全,可以使用Collections类中的SynchronizedList、SynchronizedMap内部类,通过调用。评论区 催更其他面试题。
2023-02-08 19:24:22 196
原创 CloneNotSupportedException的解决方案 + Object的clone方法分析
CloneNotSupportedException的解决方案 + Object的clone方法分析
2022-11-12 07:58:19 1303 2
原创 Java虚拟机启动整体流程和基础学习(内容很多,不可快餐阅读),推理+源码论证
请花点时间具体看看Java虚拟机的启动吧,其他搜到的资料,请使用源码论证一下,谢谢
2022-10-20 15:24:34 1741
原创 SpringCloudAlibaba学习笔记(一) Nacos注册中心+配置中心
SpringCloudAlibaba学习笔记之Nacos相关基本知识,详细且多~
2022-08-12 14:59:28 1992
原创 shiro学习笔记(超详细~)
Shiro学习笔记,超详细,适合小白来学习使用,对于想要进阶的可以通过此文找到对应源码位置,shiro的使用,shiro的理解
2022-08-07 10:07:05 919
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人