自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

从零开始的异世界JAVA学习

一起加油啊 (*^▽^*) (๑╹◡╹)ノ""" ψ(*`ー´)ψ (~ ̄▽ ̄)~ (。◕ˇ∀ˇ◕) (◕ᴗ◕✿)

  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 学习数据结构笔记(16) --- [分治算法(由汉诺塔问题引入)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录分而治之算法,将一个复杂问题细分为一个个小问题,逐一解决;是很多排序算法的基础;例如快速排序,归并排序这里学习的话 由汉诺塔问题展开;—>百度百科之汉诺塔问题;将A塔的圆盘移动到C塔情况1:若A塔只有一个圆盘;直接将A塔的圆盘放到C塔即可情况2:当A塔有两个圆盘;先把小圆盘放到B塔上;然后把大圆盘放到C塔上;然后在把小圆盘放到C塔的大圆盘上,完成;情况3当A塔有三个圆盘;.

2021-11-29 14:06:10 467 1

原创 学习数据结构笔记(15) --- [二分查找算法(非递归)]

力扣这道题其实就是二分查找的基础考察题目704. 二分查找写完可以多找几道二分查找的题试试二分查找的前提是这个数组是一个有序的数组;我们这里将规定为升序数组;定义中间数值的索引; 若要找的目标值就是这个中间值,直接返回即可;若找的目标值大于中间数,则将查询范围缩小到中间数的右边;若找的目标值小于中间数,则将查询范围缩小到中间数的左边;/** * 在升序数组中查找目标数值的索引; * @param array 升序的数组; * @param target 目标值

2021-11-26 17:35:09 632 1

原创 学习数据结构笔记(14) --- [图]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录1.图的概述(1)无向图(2)有向图(3)带权图(4) 图的表示方式2. 用代码实现无向带权图的创建3.对图进行深度优先搜索(DFS)4.进行广度优先搜索(BFS)图的基本构成代码总结(包括深度优先搜索,广度优先搜索)1.图的概述????百度百科之图论图也是一种数据结构,这个在离散数学以及运筹学原理与应用这两门数学课程中有学习过结点(顶点) 之间的连接线就是边;顶点附近可以有0个或者多个相邻顶点;(

2021-11-25 20:47:39 630

原创 学习数据结构笔记(13) --- [多路查找树的概念以及原理说明]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录2 - 3树(2-3Tree)图解2-3树案例创建过程B树(BTree)B+树B*树要把二叉树加入到内存中;构建二叉树,需要多步的IO流操作;要是节点非常多的话,效率会受到影响; 同时节点过多,二叉树太高了;操作速度会变慢;那么就得引入多叉树的学习了,那么就得给节点存放多个数据项;且这个节点下挂接多个子节点;这样就能降低树的高度;从而达到优化效果.比如说这个2-3树;2 - 3树(2-3Tree)

2021-11-25 15:33:46 1066

原创 学习数据结构笔记(12) --- [平衡二叉搜索树(AVLTREE)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录案例情景引入左旋转图解通过代码实现右旋转图解右旋转的具体实现双旋转处理案例情景引入比如给出一组数字1,2,3,4,5,6,要把它排成二叉搜索树;那是不是就得变成下面这样的树;仔细看的话,比较像是单向链表;增删比较快,但是查询时比较慢;由于树在查询时还要检索,效率甚至会更慢;平衡二叉搜索树(Self-balancing binary search tree);左右两棵子树的高度之差不会超过1;平衡二

2021-11-25 10:05:36 334

原创 Spring MVC 学习笔记(3) --- [SpringMVC的数据响应(Ajax提交请求后,用JSON格式响应数据)]

本文紧接之前的文章–> Spring MVC 学习笔记(2) — [SpringMVC的几个注解标签说明,获取请求数据,springmvc提供的中文乱码过滤配置]文章目录1.数据回显1.数据回显在上一篇笔记中,完成了后台对前端数据的接收;那么,现在就是将数据转为json格式,发送到前端展示;...

2021-11-23 19:06:56 766 1

原创 Spring MVC 学习笔记(2) --- [SpringMVC的几个注解标签说明,获取请求数据,springmvc提供的中文乱码过滤配置]

本次笔记紧接着 Spring MVC 学习笔记(1) — [初步接触SpringMVC,上手搭建一个案例出来]展开文章目录1.SpringMVC的几个注解说明2.获取请求数据过滤静态资源1.SpringMVC的几个注解说明首先是在类上写的@Controller;或者@RestController;仅能作用类;标注这个类为spring生成这个类的对象;且为控制层;注解@RequestMapping处理请求地址映射;可以写在类上,或者写在方法上,写在类上的话,这个注解写在类上的话,在整个项目.

2021-11-22 17:15:37 524

原创 剑指[54]_找出二分搜索树的第K大节点

题目来源:剑指 Offer 54. 二叉搜索树的第k大节点题目描述给定一棵二叉搜索树,请找出其中第k大的节点。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \ 1 4 \ 2输出: 4 示例 2:输入: root = [5,3,6,2,4,null,null,1], k = 3 5 / \ 3 6 / \ 2 4 / 1输出: 4 限制:1 ≤

2021-11-22 14:06:56 468

原创 Spring MVC 学习笔记(1) --- [初步接触SpringMVC,上手搭建一个案例出来]

文章目录1.什么是SpringMVC2.浅谈运行过程3.上手搭建springmvc,进行使用1.什么是SpringMVC在很久之前比较流行的架构模式有 SSH 即(Spring Struts 对servlet进行封装 hibernate);–>百度百科SSH框架后来又出现了SSM(Spring Struts Mybatis) ;注意这里还没有用Spring MVC,因为Spring早期发展时,Web模块并不是很好,所以这里web部分处理的话,早期用的是Struts;再到后来,这个SSM框架

2021-11-21 18:49:47 742 1

原创 Spring框架学习笔记(5) --- [Spring框架整合Mybatis框架]

文章目录Spring框架整合Mybatis框架(1)导入需要使用的maven包(2)实体类,数据访问层,服务层,以及数据访问映射文件????创建实体类Person????数据访问接口PersonMapper????服务层PersonService????数据访问映射文件PersonMapper.xml(3)不同的配置文件????database.properties 数据库连接池使用的属性文件????log4j.properties 日志属性文件????mybatis-config.xml 配置mybati

2021-11-21 13:44:29 602

原创 Spring框架学习笔记(4) --- [Spring的事务传播行为]

文章目录Spring的事务传播行为案例搭建(1)PROPAGATION_REQUIRED(2)PROPAGATION_SUPPORTS(3)PROPAGATION_REQUIRES_NEW声明式事务失效的几种情况Spring的事务传播行为事务发生传播的前提是,至少有两个或两个以上的事务发生关联.事务传播行为(propagation behavior) 指的就是当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行。事务传播行为是 Spring 框架独有的事务增强特性,是spring提供的事

2021-11-21 11:46:17 720

原创 剑指[58]--(1)--翻转单词的顺序

题目来源:剑指 Offer 58 - I. 翻转单词顺序题目描述:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出: "blue is sky the" 示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含

2021-11-20 12:13:39 482

原创 学习数据结构笔记(11) --- [二分搜索树(BinarySearchtTree)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录1.二分搜索树2.创建二分搜索树,以及添加节点的方法图解过程具体实现3.在二分搜索中删除节点????图解二分搜索树中删除结点的具体实现1.二分搜索树前面已经学习过二叉树,赫夫曼树的知识了;接下来学习二分搜索树的知识;我们知道二叉树的结构就是父节点挂接左右子节点;二分搜索树的首先是个二叉树;然后融合了二分搜索的思想;二分搜索树又称为二分排序树; 这种树的特点是,它的左子树上挂接的节点是小于根结点的; 右

2021-11-20 11:20:38 414

原创 Spring框架学习笔记(3) --- [在spring中初步上手实现AOP,以及对事务的初步配置使用]

文章目录1. AOP概述(Aspect Oriented Programming)2.从案例引入;实现AOP2.1 案例引入2.2 Spring Aop 的实现(1)用xml配置的方式实现前置通知看一下这个切入点的表达式后置通知异常通知环绕通知(2) 用注解配置的方式实现3.对事务的初步理解用XML注解配置声明式事务用注解配置声明式事务在初步了解事务之前,初步学习一下aop实现和使用1. AOP概述(Aspect Oriented Programming)AOP:面向切面编程作为spring的

2021-11-19 09:39:08 263

原创 学习数据结构笔记(10) --- [赫夫曼树(Huffman Tree)与赫夫曼编码(Huffman coding)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)文章目录1.赫夫曼树的相关概念2.赫夫曼树的创建过程1.赫夫曼树的相关概念赫夫曼树是带权路径长度最短的树;并且权值较大的树距离根结点比较近路径就是:从一个节点出发,到达它的子节点,或者孙子节点,经过的通路;就是路径;路径长度的话;比较简单的计算方法; 比如我认为根结点所在的位置是第一层;那么假如这棵树有M层;那么从根结点到达第M层的路径长度就是(M-1);那么,我从第1层的节点到第4层的节点路径长度就是(4

2021-11-18 16:25:58 991

原创 剑指[48]_最长的不包含重复字符的子字符串

题目来源:剑指 Offer 48. 最长不含重复字符的子字符串题目描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3

2021-11-17 14:04:06 356

原创 剑指[42]_最大子序列之和(连续子数组的最大和)

题目来源:剑指 Offer 42. 连续子数组的最大和题目描述:输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1

2021-11-15 23:05:59 961

原创 数据结构(六) ---[实现 堆(heap)(包含方法图解过程) 优先队列(Priority Queue)]

文章目录1.堆 ,满二叉树,完全二叉树(概论)满二叉树完全二叉树堆2. 具体实现 最大堆2.1初始化的几个方法;判断空堆;查询父节点索引,查询左/右结点索引的方法2.2 最大堆的添加节点方法方式1:添加时进行交换????图解用代码实现 堆中元素添加(方式1---交换式);以及输出堆的方法方式2:添加时进行覆盖????图解用代码实现 堆中元素添加(方式2 ---覆盖式);2.3 在最大堆取出优先级最高的节点 方法方式1:交换式????图解用代码实现 在最大堆中取出最高优先级的节点 (方式1--交换式)方式2:

2021-11-15 17:48:32 1260 1

原创 剑指[63]_股票的最大利润问题 ; 力扣[122]_买卖股票的最大利润时机 II

题目来源:题目来源:剑指 Offer 63. 股票的最大利润本题与力扣121题相同: 121.买卖股票的最佳时机题目描述:假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格。示例 2:输入: [7,6

2021-11-14 19:13:11 110

原创 剑指[35]__复杂链表的复制

题目来源:剑指 Offer 35. 复杂链表的复制题目描述:请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 ne

2021-11-13 15:59:50 77

原创 剑指[28]_对称的二叉树

题目来源:剑指 Offer 28. 对称的二叉树题目描述请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3 示例 1:输入:root = [1,2,2

2021-11-13 15:28:10 988

原创 剑指[27]_二叉树的镜像

题目描述:剑指 Offer 27. 二叉树的镜像题目描述请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1] 限制:0 <= 节点个数 <= 1000直接递

2021-11-13 14:40:07 73

原创 剑指[26]_树的子结构

题目来源:剑指 Offer 26. 树的子结构题目描述输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。示例 1:输入:A = [1,2,3], B = [3,1]输出:false示例 2:

2021-11-13 13:56:46 74

原创 剑指[32]-(3)由上至下打印二叉树

题目来源:剑指 Offer 32 - III. 从上到下打印二叉树 III题目描述请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [20,9], [15,7]] 提示:节点总数 &lt

2021-11-12 19:24:45 537

原创 剑指[32]-(2)由上至下打印二叉树

题目来源:剑指 Offer 32 - II. 从上到下打印二叉树 II题目描述从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]] 提示:节点总数 <= 1000本次题目和上次的思路相同,但是返回值略有不同,每次遍历取出一层元

2021-11-12 13:24:22 545

原创 剑指[32]-(1)由上至下打印二叉树

题目来源:剑指 Offer 32 - I. 从上到下打印二叉树题目描述从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]提示:节点总数 <= 1000先排除空树的情况,直接返回空数组;根据队列可以先入先出的结构,创建队列时就把二叉树的根结点存入;在队列不为空的前提下,就把队

2021-11-12 12:53:34 80

原创 学习数据结构笔记(9) --- [二叉树学习(BinaryTree)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)

2021-11-11 22:24:07 751

原创 Spring框架学习笔记(2) --- [在spring中初步上手使用注解开发;以及JDBC的初步使用]

spring官网 -->spring官网spring5.3.12–>spring-framework在线文档 --> Spring 5.3.12文章目录1.初步上手注解开发(1)首先试试 xml 进行配置的方式(2)快速上手注解开发过程2.其他的注解使用(1)==@Component(value = "user")==;(2)==@Scope(value = "prototype")==3.使用注解注入属性的两种方式(1) 使用@Autowired进行自动注入;(2) 使用JD.

2021-11-10 22:38:35 316

原创 Spring框架学习笔记(1) ---[spring框架概念 , 初步上手使用Spring , 控制反转 & 依赖注入初步理解 ]

spring官网 -->spring官网spring5.3.12–>spring-framework在线文档 --> Spring 5.3.12文章目录1.Spring概论2.快速上手试试spring框架,测试一下(1)首先是导包--Maven 导入 spring 核心基础 jar(2) 去创建一个实体类(3) 创建编写配置文件(4) 进行测试(5)测试结束,再看看几个基本的配置属性3.初步学习,看看IOC的知识4. springXML方式进行依赖注入(1)构造方法注入name.

2021-11-09 22:15:11 402

原创 学习数据结构笔记(8) ---[哈希表(Hash table)]

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)一般在java程序访问数据库时都会安排从内存的缓存层中取数据;之前的做法是自己写个哈希表,实现对数据的缓存.哈希表(散列表) 作为一种数据结构,而不是算法通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。那么该如何实现呢,通过完成这个案例来实现;领会哈希表的结构有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄

2021-11-09 18:48:20 975

原创 学习数据结构笔记(7) ---查找算法(线性查找,二分查找,插值查找,斐波那契查找)

B站学习传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)ml1.顺序/线性查找算法1.顺序/线性查找算法

2021-11-09 03:16:00 534

原创 Mybatis框架学习笔记(8) --- [缓存初步理解]

mybatis3版本的文档 -->mybatis文档ml一级缓存二级缓存模拟CPU,内存和硬盘之间的关系CPU运行最快,这三个之间的运行速度差距可能会导致并发问题本来,数据在硬盘存着,现在可以考虑把数据缓存到内存上;这样的话,CPU要读取数据,直接在内存上读取缓存即可;暂时减轻数据库的压力;但是有的数据还是必须要去硬盘直接读取的,比如说要读取的这部分数据变动比较快;缓存的数据还保留着之前的数据,但是原数据已经变了;那就得去硬盘读取数据了;使用缓存(cache)可减少数据

2021-11-07 23:39:18 273

原创 学习数据结构笔记(6)====>八大排序算法(Sort Algorithm)[冒泡,选择,插入,快速,希尔,基数,归并,堆排序]

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)排序: 把一组数据,依指定顺序进行排列的过程.ml1.时间复杂度概述时间频度时间复杂度1.时间复杂度概述时间频度时间频度(T(n)) 算法中语句的执行次数案例时间频度为 (n+1);这里的n就是100;加1是因为最后在循环时还要再判断一次;public class Demo01 { public static void main(String[] args) {

2021-11-06 17:48:47 146

原创 Mybatis框架学习笔记(7) --- [动态sql的使用]

mybatis3版本的文档 -->mybatis文档写在前面Ok,也是进行到动态sql这部分了;需要说明的是,后来我又给员工表添加了一个记录年龄的列,当然在员工类中也添加了属性以及它的getset方法;构造方法;toString();这些也都加上这个属性了.ml1. if 标签与 where 标签1. if 标签与 where 标签使用 if标签 可以对条件进行判断;一般是结合在其他标签中使用;where 标签 可以动态地添加where关键字 ,并且可以做到 自动去除后面不符合条

2021-11-06 13:22:48 311

原创 Mybatis框架学习笔记(6) --- [懒加载配置 应用到嵌套查询]

mybatis官方文档–>mybatis在线文档MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下:configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManage.

2021-11-04 00:57:13 250

原创 学习数据结构笔记(5)=====>递归

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)推荐这位大佬的文章 ;掌握递归—>什么是递归,通过这篇文章,让你彻底搞懂递归ml1.递归的简易案例2.迷宫问题3.八皇后问题1.递归的简易案例递归,在方法自身内调用自己,但是传递参数不同; 调用后一直到最后,然后再一步步地把获得的结果返回到调用的位置.public class Demo { public static void main(String[] args) {

2021-11-03 23:48:34 146

原创 学习数据结构笔记(4)=====>栈

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)案例引入;一个计算器的运算原理比如说 输入 5*6+3-2 ;计算器收到的是一个字符串,他就得一个一个分隔这些字符;然后计算;栈(Stack) 先进后出的有序列表结构;(FILO)最先放入的元素在栈底,最后放入的在栈顶;ml1.栈的基本实现1.栈的基本实现自定义实现的话,这里直接用数组作为底层存储数据结构;初始化栈时,定义栈顶的指针为 -1 ;入栈一个,就让栈顶加+1;然后数组存入一个

2021-11-03 14:02:36 130

原创 学习数据结构笔记(3)=====>链表

学习来源–>传送门–>尚硅谷Java数据结构与java算法(Java数据结构与算法)链表存储结构 不一定就是连续的;比如下面这个单链表;链表由一个个地节点组成; data 存放实际数据,next类似于一个指针;指向下一个节点;最后一个节点的指针next指向 null;还有,链表不一定都需要头节点;ml单向链表实现单向链表相关题1.求出单链表的实际存放节点个数2. 查询单链表的倒数第k个节点3.单链表反转4.由尾到头打印单链表单向链表实现案例,完成一个存放英雄的链表,可以增删

2021-11-01 22:31:25 89

初步学习web.zip

使用德鲁伊数据连接池,通过tomcat搭建本地服务器;完成简易的web学习;仅对于数据库的用户表进行crud.

2021-07-19

空空如也

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

TA关注的人

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