自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 栈的相关优化

子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。处理递归调用:和子程序的调用类似,只是除了储存下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。3.入栈的操作,当有数据加入到这个栈的时候,top++;栈stack是限制线性表的元素的插入和删除只能在线性表的同一端进行的特殊的线性结构。根据栈的定义,最先放入栈的元素在栈底,最后放入的元素在栈顶。允许插入和删除的一端,为变化的一端,成为栈顶。而删除元素的时候,是相反的。

2024-07-30 19:55:17 126

原创 stack栈--数据结构-- Java

子程序的调用:在跳往子程序前,会先将下个指令的地址存到堆栈中,直到子程序执行完后再将地址取出,以回到原来的程序中。处理递归调用:和子程序的调用类似,只是除了储存下一个指令的地址外,也将参数、区域变量等数据存入堆栈中。3.入栈的操作,当有数据加入到这个栈的时候,top++;栈stack是限制线性表的元素的插入和删除只能在线性表的同一端进行的特殊的线性结构。根据栈的定义,最先放入栈的元素在栈底,最后放入的元素在栈顶。允许插入和删除的一端,为变化的一端,成为栈顶。而删除元素的时候,是相反的。

2024-07-30 10:09:00 351

原创 约瑟夫问题的环形链表-- Java

这样的话,被删除的节点将不会被做任何的处理,就会被java的垃圾回收机制,进行一个处理。当我们需要按照编号的顺序进行添加的时候,这个我们就可以根据一个辅助指针去查找。4.链表分带头节点的链表和没有头节点的链表,根据实际的需求而定。2.每个节点包括data域,和next域,指向下一个节点。1.我们先要去找找到,需要删除节点的前一个节点。1.链表是以节点的方式去进行相应的存储的。新的节点的next=temp。3.发现链表的各个节点不一定是连续的。先找到这个节点,通过遍历的方式。这个next是指向下一个节点的。

2024-07-29 16:21:58 191

原创 双向链表--数据结构

这样的话,被删除的节点将不会被做任何的处理,就会被java的垃圾回收机制,进行一个处理。当我们需要按照编号的顺序进行添加的时候,这个我们就可以根据一个辅助指针去查找。4.链表分带头节点的链表和没有头节点的链表,根据实际的需求而定。2.每个节点包括data域,和next域,指向下一个节点。1.我们先要去找找到,需要删除节点的前一个节点。1.链表是以节点的方式去进行相应的存储的。新的节点的next=temp。3.发现链表的各个节点不一定是连续的。先找到这个节点,通过遍历的方式。这个next是指向下一个节点的。

2024-07-29 15:08:01 97

原创 反向打印链表

2.第二种就是利用栈的思想,将这个利用栈的先进后出的思想,将这个链表进行一个相关的打印。1.一种是将这个原本的链表这个节点进行一个相关的反转。按照原来具有顺序的方式,进行一个逆序的输出。当我们想去将原本具有顺序的链表。我们可以去想出两种办法。

2024-07-29 11:08:58 42

原创 LinkedList链表--数据结构-- Java

这样的话,被删除的节点将不会被做任何的处理,就会被java的垃圾回收机制,进行一个处理。当我们需要按照编号的顺序进行添加的时候,这个我们就可以根据一个辅助指针去查找。4.链表分带头节点的链表和没有头节点的链表,根据实际的需求而定。2.每个节点包括data域,和next域,指向下一个节点。1.我们先要去找找到,需要删除节点的前一个节点。1.链表是以节点的方式去进行相应的存储的。新的节点的next=temp。3.发现链表的各个节点不一定是连续的。先找到这个节点,通过遍历的方式。从点链表中删除这个节点的思路。

2024-07-29 09:56:41 243

原创 数据结构--队列-- Java

2.遵循先入先出的原则,即:先存入的队列的数据要先去取出。后存入的数据要在后面取出。因为队列的输入所以分别是在前后两个位置对队列进行相应的处理。1.队列是一个有序的列表,可以去用数组或者是链表来实现的。front和rear分别记录这个队列的前后端下标。maxSize就是队列的最大的容量。之后还会对这个队列进行相关的优化。队列可以去用数组和链表去实现。加数据实在队列的尾部加。去数据是在队列的队首去。队列本身就是一个有序表。数组就是顺序存储结构。链式就是链式存储结构。

2024-07-28 20:22:08 246

原创 数据结构--稀疏数组

1.先读取稀疏数组的第一行,根据第一行的数据,创建原始的二维数组,比如上面的 chessArr2=int[11][11]2.把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。3.链式存储结构的线性表叫做链表,链表中存储的元素不一定是连续的。2.在读取稀疏数组后几行的数据,并赋给原始的二维数组即可.1.遍历 原始的二维数组,得到有效数据的个数sum。当我们要记录的数据之中大多数的数据为0的时候。5.线性结构常见的有:数组,链表,队列,栈。遍历原始的二维数组,得到了有效的数组。

2024-07-28 16:32:30 562

原创 128.最长连续序列

这段代码利用了HashSet来存储数组元素,以及快速查找的特性,通过一次线性扫描和逐步扩展来查找最长的连续序列,时间复杂度为 O(n),非常高效。

2024-07-27 17:29:33 127

原创 49.字母异位词分组- Java

初始化一个空的 HashMap map。遍历字符串数组 strs。对第一个字符串 "eat"执行: 将 "eat" 转换为字符数组 ['e', 'a', 't'] 对字符数组进行排序,得到 ['a', 'e', 't']使用排序后的字符数组创建 key "aet" 从 map 中获取 key 为 "aet" 的值,由于不存在,因此创建一个新的空列表 list = [] 将 "eat" 添加到 list 中,

2024-07-27 15:47:49 1047

原创 两数之和Java

这种算法不能保证具有相同排序码的记录原来所具有的相对次序,即原来排在前面的记录经过排序后有可能排在某个具有相同码的记录的后面。使用暴力枚举的方式,既然是去使用枚举的方式,我们首先去想到的就是枚举数组中的每一个数,去寻找这个符合题目条件的数组中的数值。这样我们去使用一次选择排序就会使得我们原本的数组中的元素变得具有顺序,方便我们进行下一步的target判断。主要为哈希表的开销。如果存在就去返回相应的值,这个值的返回也是在hash表中相应的返回的。对于暴力枚举的时间复杂度,这就可以去说明,选择排序的特点,

2024-07-27 10:25:34 442

原创 python爬虫

4** 客户端错误,就是包含了错误的信息或者是语句,无法去完成相应的请求。5** 服务器错误,服务器在处理请求的时候过程中发生了错误。1** 信息,服务器收到,需要请求者继续执行操作。3** 重定向,进一步操作完成相应的请求。浏览器返回的数字给我们的相应的提示信息。

2024-07-26 19:27:31 176

原创 python面向对象的编程

只有我们去开发这个方法的人才可以去感知到这个构造方法中的相关属性的。而这个保护方法除了类本身的方法可以去使用,相关的继承的也可以去使用。辅助功能性的类,其他的类都可以去调用这个类的内部的相关的方法。上面的多个函数的方法,这里就是面向过程的编程思想。没有下划线的就是公开的方法,可以去直接进行调用的。在方法的前面直接加上一个类似于Java的注解。然而这个静态方法的第一个就是我们的相关的参数。创建的多个方法都属去操作我们构造函数的属性。对于这个私有方法是在其他的类中访问不到的。

2024-07-26 16:02:12 404

原创 python基础函数

由于它的简单性,lambda 函数可以使我们的 Python 代码在某些使用场景中更加优雅。支持多编程范例的 Python 也提供了一种简单的方法来定义 lambda 函数。在函数名称后面的括号中去添加参数值,可以是多个参数,也可以是无餐的。Lambda 函数(也称为匿名函数)是函数式编程中的核心概念之一。在def的后面我们就去以见明知意的方式去定义一个函数的名称。使用函数的目的是去减少代码的冗余性,简化代码的复杂度。以def开头去进行相关的定义。· 结果为函数返回值的表达式。· 函数将接收的参数。

2024-07-26 15:16:24 242

原创 PEP8的蛇形命名法和面向对象中的驼峰命名法

2.蛇形命名法所指的就是book_name,book_type等相关的命名方式。这个案例就在文件的创建上同时使用了蛇形命名法和驼峰命名法。1.大部分的情况下变量的命名方式是以蛇形命名法来命名的。给模块命名的时候要变的尽量的更加精简,让可读性更加方便。但是在面向对象中,这种方式可以去发生相应的改变。PEP的全称是指的python的改进建议书。可以去更多的根据个人的习惯。可以去使用驼峰命名法。

2024-07-26 10:49:23 85

原创 人工智能和生活

人工智能就是通过计算机程序与算法让计算机能够去模拟人类,使得机器能够模拟人类的感知。人工智能的核心就是让机器具备自主学习和决策的能力,已解决复杂的相关问题。思考学习和行动的等相关智能的行为,实现了人机之间的交互。智慧农业是运用现代信息技术成果,集成应用计算机与网络。技术、物联网技术、音视频技术、传感器技术、无线通信技。术及专家智慧与知识平台,实现农业可视化远程诊断、远程。控制、灾变预警等智能管理、服务。智能家居与日常生活的变革。人工智能的所设计的领域。自动驾驶领域的相关应用。教育行业的变革与机遇。

2024-07-17 08:00:58 172

原创 人工智能的学习方式

1.弱人工智能ani,处理一些特定的任务。医疗健康,金融服务,教育辅导,自动驾驶。2.通用人工智能,处理各种各样的问题。3.超级人工智能(超强人工智能)

2024-07-17 07:47:39 283

原创 pomxml解读

- 在dependencies标签页内,可以指定多个需要依赖的jar/导入一个jar-->-- 这里就是引入项目所需要的jar包,类似传统项目的import jar的作用-->-- 是创建项目的时候程序员所指定的,就是我们在创建maven的时候设定的-->-- 引用的jar包需要一个完整的jar包坐标,从maven中仓库去查询-->-- 该jar包的作用的范围-->-- 解读:下面的是指定该项目的坐标-->-- version版本-->

2024-07-15 23:02:52 221

原创 Proxy和CGlib的区别

切入表达式注意事项和细节。

2024-07-15 20:43:44 279

原创 Bean配置信息重用

对于Bean配置信息重用,我们可以去理解为,就是在这个bean可以变成一个抽象类,这样的话我们就可以去通过继承的方式,使得这个在之后具有重复性的bean的对象进行一个一个相关的继承的方式,使得代码的冗余性降低,方便多次进行调用。如果bean指定了abstract是true。就像Javase面向对象中的继承。

2024-07-14 18:08:44 181

原创 静态单例模式

为了保证资源不被过多得浪费,提出一种能让整个系统中一个类只能被实例化对象一次,且实例化对象在内存中唯一存在的路,实现这种思路的功能称作单例模式。

2024-07-14 16:38:43 381

原创 Spring配置Bean

但是在A对象中,我们可以发现仍然有B对象进行了相关的包括,这样的话,B对象的本身也会存在着属于自己的属性,然而当我们的A对象想在自己的对象容器中把B的属性进行包含,这样就叫做级联属性赋值。但是我们所产生的是一个动态的工厂时,我们倘若只有一个工厂的时候,他所调用的确实时两个相同的值,但是当我们去创建两个动态工厂去分别调用两个不同的值的时候,这两个值所产生的就是两个不同的。对于静态工厂的时候,当我们产生了两个工厂的时候,他们所产生的相关的值仍然就是相同的,因为静态的类加载只会去调用一个。

2024-07-14 16:35:05 1119

原创 Spring底层理解的相关细节

如果在无参构造器中我们提前设定了一段话的话,我们再启动时,调用相关的配置时,这个无参构造器回去率先执行。这样的话,对于我们前期学习,每一个类可以去单独创建一个相关的配置文件。这样的使用,就让我们的无参构造器由我们的Java反射产生。我们是不会去将这个配置文件当中的这个全类名去直接拿掉的。这样在不同的配置文件中,还是会存在相关的标号进行区分。这样就是在初始化的时候提供了一个相应的无参构造器。但是这样的话我们的spring中运行的时候。这个无参构造器的提供是十分的重要的。会自己的底层自动的处理。

2024-07-14 10:24:01 478

原创 Spring容器框架的梳理

对于spring框架作为一个初学者来说,我们更加注重的spring框架的相关的思想。我们可以通过查询源码的方式去对spring的底层有一个相关深刻的理解。但是我们可以去剖析源码,去找到我们之前在xml文件中配置的相关属性。理解这个spring框架中封装起来的东西我们是怎样去发现和解析他的。这些属性和类虽然我们真的发现这些底层的东西很难理解。这样的话对于我们之后去快速开发构建框架是具有帮助的。个人谈一下对这个spring框架的相关理解。比如说这个spring中的。我们要去深入的理解,

2024-07-14 09:52:47 267

原创 Spring容器结构剖析

懒加载就是当这个对象还没有被使用到的时候,这个对象就已经被加载出来了。如果不是懒加载的话,当用户使用的时候,就立即创建。在底层的容器中这个是基于泛型的。IOC是一个重量级的对象,

2024-07-14 08:31:35 233

原创 Spring的相关内容介绍

将来使用了Spring我们地配置文件就可以把这些对象都放了进去,并且他们之间地使用关系也去直接关联好了,可以在多个对象中直接去关联,在这个容器之中,我们之后就可以去直接去调用了。a对象要去使用到这个b对象,这个a对象可以自动地去引用到这个对象,这个对象就可以自动取使用,但是我们在之前需要去配置,这个在容器之中地配置就可以直接去使用了。在这里面有多个对象,我们什么时候需要引用什么时候需要调用,我们直接去get就可以了,不需要去再次重新创建了。当我们需要去使用到某个对象实例地时候,就可以直接从容器中去获取了。

2024-07-13 19:22:03 676

原创 Vue的条件渲染

在js中0,null,undefined和空串都会被认为是false。v-if v-if -else v-else 多条件的渲染语句。v-if和v-show都可以去做一个条件渲染。

2024-07-12 17:55:40 137

原创 Vue相关的细节

(1)data数据池绑定的数据变化,会影响到view【底层的机制就是Data Bindings】(2)view关联的元素的值的变化就是会影响到data数据池的数据【dom listener】v-bind是数据单向的渲染:data数据池绑定的数据的相关的变化,会影响到view。如果方法不需要传递参数,我们是可以去省略小括号的(对于大多数浏览器支持的)@click事件的绑定,对于事件绑定的相关简写。vue就是将基本的东西进行了一个相关的包装。在这个vue中是需要我们具有js的基础。.是一个class类。

2024-07-12 16:49:23 107

原创 Vue--MVVC

在MVVM之前,这个开发人员在后端获取的数据模型,VM就是把dom的相关操作进行了一种相关的封装,他们之间相关影响的关系我们是可以不在用去关注了。把我们开发人员,在繁琐的dom操作中解放出来了,把关注点放在了如何操作这个model上了,大大提高了开发的效率。这样的话就是一种传统的方式,这样就是需要我们是要去手动进行相关的操作的。Vue猫,把这个dom的最困难的地方,在底层自己进行了一个相关的处理。人为的要去获取dom编程,不用人为的相关干预的。传统的dom编程去对这个界面进行相关的处理。

2024-07-12 14:43:04 399

原创 JavaScript---Dom编程

dom是可以以一种独立的方式去访问和修改一个文档之中的内容和结构。所以我们可以去想一个办法就解决,之后可以去使用Vue。表示和处理一个HTML或XML文档的常用方法。1.可以让用户对网页元素进行交互操作。3.DOM编程是ajax的重要基础。2.DOM编程可以用来做网页游戏。文档对象模型,简称dom。dom编程是特别复杂的。dom有数据也有操作。

2024-07-12 14:27:58 273

原创 模块化编程

只有使用默认导出的时候,default方式,这样我们就可以在import中由程序员自己去定义相关的名字不需要去依赖相关的前端人员所设定的名称。导出的时候我们设置的相关的对象也同样是可以看作是一个对象的,我们通过不断地进行相关的调用,最终我们就可以拿到相关的属性值。把导入的东西可以看作定义成为一个对象,这样的话,我们就可以去看作一个或者多个对象去以OOP的观点去调用多个属性。//m.xx,这个地方前面去指定的导出的对象的名称是可以自己去指定的。这一种的导出方式,对于对象名我们是可以自己去定义的。

2024-07-12 10:39:47 409

原创 Promise

在传统的方式中我们会发现在这个ajax中会出现着层层的success和error的调用,这样是非常繁琐的,代码的冗余性太强,太过于复杂,不方便阅读。我们可以在前面先去写这个try中的内容,在最后的时候我们用一个catch一同接受这个前面的所以的错误,这样的话,我们就可以减少代码的冗余性。promise中是存在链式调用的,我们也可以知道,在这个promise中,也是存在像Java中的try和catch之间的异常处理的。在success中先去进行正确代码的执行。就像在Java中的代码一致。

2024-07-12 09:26:45 184

原创 Promise

对于这个promise,我们可以在图中发现,在上面的两张表中分别存放着个人信息,和个人信息所存在的相关细节,我们在下面放置了一张promise分别的去放出请求和接收相关请求,这样子就在发出请求和接收请求的过程中,实现了数据的交换。在导入和导出的过程中,要保证对象的名字是一样的,原因就是,当对象的名称一致的时候,类似于这个对象的解构,这样使得对象在匹配的时候可以一一对应。我们现在存在着两张表,原本里面存放着信息,

2024-07-12 08:00:49 164

原创 二分查找~~

二分查找

2024-07-09 15:03:11 179

原创 HashMap

由于K的每一位都会对其平方中间的若干位产生影响,因此这个方法的效果也是不错的。例如,表容量M=2^4=16,,关键值K=100,那么h(k)=8,平方取中的目的就是使得这个原本的关键字k的数值变得更大一点,方便对其之后进行一些相关的操作,但是如果k是一个比较小的数字,那么就会适得其反。α越大, 表越满,冲突的机会也越大。对于这个哈希查找,由于是相对来说比较简单的直接取余法,这对hash,求hash就是要对其取模,两个数对应到了一个数中,两个x或者是更多的x对应到了一个值,这样可能出现的错误概率会更大一点。

2024-07-08 16:10:50 1012

原创 KMP算法

kmp算法

2024-07-07 10:29:39 571

原创 数据库概念

存储数据的仓库,数据是有组织的进行的存储。Oracle是和你的硬件的配置去收费的:大型数据库。网易对MySQL数据库的优化功不可没。定义操作所有关系型数据库的统一标准。MySQl开源免费的中小型数据库。操作关系型数据库的编程语言。

2024-07-07 09:15:01 87

原创 Java思维导图十分齐全

2024-06-23 15:31:38 394

原创 TCP协议的三次握手

利用三次握手的机制,就确定对方的计算机是否是存在的。3.客户端向服务端再次发出确认的信息。1.客户端向服务端发出连接的请求。2.服务端向客户端返回了一个响应。就可以进一步望下去进行操作。

2024-06-16 21:15:10 169

原创 TCP通信程序:客户端和服务端交互

【代码】TCP通信程序:客户端和服务端交互。

2024-06-16 21:11:46 109

Java思维导图,基于Java的基本语法以及Java的面向对象开发

Java思维导图,基于Java的基本语法以及Java的面向对象开发

2024-06-23

空空如也

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

TA关注的人

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