自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 希尔排序算法

一. 基本介绍在简单插入排序中,需要插入的数是较小的数时,后移的次数明显增多,对效率有影响。希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。二. 思想希尔排序法的基本思想:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。三. 代码实现package dat

2021-12-09 18:07:02 254

原创 插入排序算法

一. 基本介绍插入式排序属于内部排序法,是对于要排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的。二. 思想插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。三. 代码实现package datastructure.sort;im

2021-12-09 16:17:33 119

原创 选择排序算法

一. 基本介绍选择式排序也属于内部排序法,是从要排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的。二. 思路选择排序(select sorting)也是一种简单的排序方法。它的基本思想是:第一次从arr[0]~arr[n-1]中选取最小值,与arr[0]交换,第二次从arr[1]~arr[n-1]中选取最小值,与arr[1]交换,第三次从arr[2]~arr[n-1]中选取最小值,与arr[2]交换,…,第i次从arr[i-1]~arr[n-1]中选取最小值,与arr[i-1

2021-12-09 12:07:18 115

原创 冒泡排序算法

一. 思路冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使数值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。优化:因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。二. 代码实现package datastructure.sort;import java.u

2021-12-09 10:45:26 441

原创 常见的几种排序算法的时间复杂度

一. 排序算法的介绍概述:排序也称排序算法,排序是将一组数据,依指定的顺序进行排列的过程。排序的分类(1) 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。(2) 外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序。二. 时间复杂度的相关概念度量一个程序(算法)执行时间的两种方法。(1) 事后统计的方法(2) 事前估算的方法时间频度的介绍。 时间频度:一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

2021-12-08 19:18:55 7850

原创 八皇后问题

一. 八皇后问题介绍八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。二. 八皇后问题算法思路分析第一个皇后先放第一行第一列。第二个皇后放在第二行第一列、然后判断是否OK, 如果不OK,继续放在第二列、第三列、依次把所有列都放完,找到一个合适的位置。继续第三个皇后,还是第一列、第二列……直到第8个皇后也能放在一个

2021-12-08 16:36:14 134

原创 递归—迷宫问题

一. 迷宫图形描述红色方块代表墙体,红色小球代表走迷宫的人,箭头指向的位置为终点。二. 代码实现package datastructure.recursion;public class Maze { public static void main(String[] args) { // 用数组表示地图 初始化为0表示未走过 用数字1表示墙 用数字2标识已走过的路 用数字3标识走不通的路 int[][] map = new int[8][7];

2021-12-08 10:19:46 392

原创 递归的基本介绍

一. 递归的概念简单的说,递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。二. 递归调用规则当程序执行到一个方法时,就会开辟一个独立的空间(栈)。每个空间的数据(局部变量),是独立的。三. 递归解决的问题各种数学问题如: 8皇后问题 , 汉诺塔, 阶乘问题, 迷宫问题, 球和篮子的问题(google编程大赛)各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等.将用栈解决的问题,使用递归代码比较简洁。四. 递

2021-12-08 09:31:27 237

原创 逆波兰计算器

一. 前缀、中缀、后缀表达式的基本介绍前缀表达式(1) 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。举例说明: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6。(2) 前缀表达式求值:从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 和 次顶元素),并将结果入栈重复,上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。中缀表达式中缀表达式就是常见的运算表达式,如(3+4)×5-6

2021-12-07 17:40:55 197

原创 栈实现简答计算器

一. 思路分析通过一个index索引遍历(扫描)表达式。如果扫描到一个数字,就直接入数字栈(使用的栈是自己用数组模拟的栈)。如果扫描到一个符号就分以下情况:(1) 如果当前的符号栈为空,就直接入栈。(2) 如果符号栈有操作符,就进行比较,如果当前操作符的优先级小于或者等于栈中操作符的优先级,就需要从数字栈pop出两个数字,在符号栈中pop出一个符号,进行运算,将得到的结果存入数字栈。只有当前操作符的优先级大于栈中操作符的优先级,才会直接入符号栈。当表达式扫描完毕,就按顺序从数字栈和符号栈中po

2021-12-07 10:38:00 77

原创 数组模拟栈

一. 栈的介绍栈的英文为(stack)。栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈的元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除。二. 栈的应用场景子程序的调用:在跳往子程序前,会先将下

2021-12-07 09:12:30 67

原创 约瑟夫问题

一. 基本介绍约瑟夫问题。Joseph问题为:设编号为1,2,… n的n个人围坐一圈,约定编号为k(1<=k<=n)的人从1开始报数,数到m 的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。代码实现思路。用一个不带头结点的循环链表来处理Joseph问题:先构成一个有n个结点的单循环链表,然后由k结点起从1开始计数,计到m时,对应结点从链表中删除,然后再从被删除结点的下一个结点又从1开始计数,直到最后一个结点

2021-12-06 17:30:39 393

原创 双向链表中节点的增删改查

一. 基本介绍单向链表与双向链表的比较:(1) 查找的方向只能是一个方向,而双向链表可以向前或者向后查找。(2) 单向链表不能自我删除,需要依靠辅助节点 ,而双向链表,则可以自我删除。本次在节点中增加了指向前一个节点的指针,实现双向链表的增删改查操作。二. 代码实现节点package datastructure.linkedlist.doublelinkedlist;public class HeroNode { public int no; // 编号

2021-12-06 16:20:58 428

原创 单链表应用

一. 链表介绍链表是以节点的方式来存储的,是链式存储。每个节点包含data域和next域,next域指向下一个节点。链表的各个节点不一定是连续存储。链表分为带头节点的链表和没有头节点的链表,根据实际需求来确定。二. 单链表应用实例的代码实现节点package datastructure.linkedlist.simplelinkedlist;public class HeroNode { public int no; // 编号 public String n

2021-12-06 13:17:23 444

原创 数组模拟(环形)队列

一. 队列介绍队列是一个有序列表,可以用数组或是链表来实现。队列遵循先入先出的原则。即:先存入队列的数据要先取出,后存入的数据要后取出。二. 数组模拟队列思路队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图,其中maxSize是该队列的最大容量。因为队列的输出、输入时分别从前后端来处理,因此需要两个变量front和rear分别记录队列前后端的下标,front会随着数据输出而改变,而rear则是随着数据输入而改变,如图所示:当我们将数据存入队列时称为“addQu

2021-12-06 10:49:27 608

原创 二维数组与稀疏数组之间的转换

稀疏数组的基本介绍:当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。稀疏数组的处理方法是:(1) 记录数组一共有几行几列,有多少个不同的值。(2) 把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模。举例说明:(1)普通数组:(2) 稀疏数组:思路及代码实现:思路。(1) 二维数组转稀疏数组的思路。① 遍历原始的二维数组,得到有效数据的个数 num。② 根据num创建稀疏数组sparseArr int[num+1]

2021-12-03 10:21:10 74

原创 不再支持源选项 5。请使用 6 或更高版本。 不再支持目标选项 1.5。请使用 1.6 或更高版本。

在pom文件中加入以下配置:

2021-08-14 22:30:13 127

原创 JSON parse error: Cannot deserialize value of type `java.util.Date` from String “2019-04-01T16:00:0

记录一下自己学习时碰见的问题。@DateTimeFormat 注解中pattern的值设置为前端传输的时间格式,这样后端才能将此格式转换为Date格式。

2021-07-30 10:04:48 276

原创 Java多选下拉框传值到后台

2021-07-09 08:36:35 671

原创 HTML <label> 标签的 for 属性

定义和用法for 属性规定 label 与哪个表单元素绑定。隐式和显式的联系标记通常以下面两种方式中的一种来和表单控件相联系:将表单控件作为标记标签的内容,这样的就是隐式形式,或者为 标签下的 for 属性命名一个目标表单 id,这样就是显式形式。例如:显式的联系:姓名:隐式的联系:姓名: 第一个标记是以显式形式将文本 “姓名:” 和表单的文本输入控件 (“name”) 联系起来,它的 for 属性的值和控件的 id 一样,都是“name”。第二个标记 (“姓名:”) 不需要 for

2021-07-04 21:51:59 128

原创 javax.net.ssl.SSLException MESSAGE: closing inbound before receiving peer‘s close_notify

原因:MySQL在高版本需要指明是否进行SSL连接解决方法:jdbc.url=jdbc:mysql:///spring_db的后面加上?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&useSSL=false

2021-07-02 16:11:20 194

原创 springmvc 请求经过controller后静态资源无法访问的问题

在 spring-mvc.xml文件中加上 default /static/*

2021-06-08 20:58:02 308

原创 vscode如何自动格式化代码

首先在code中安装 Prettier -Code formatter[代码格式化程序]。第二步在菜单栏中打开设置第三步 在搜索条搜索settings点击 在settings.json中编辑第四步 在settings.json中添加一条保存时格式化代码的语句“editor.formatOnSave”: true...

2021-05-17 10:51:34 4445

原创 以管理员身份在当前目录打开命令行窗口

将以下代码复制到一个文本文件,然后保存成 cmd.reg,注意文件后缀是reg,注册表文件。Windows Registry Editor Version 5.00; Created by: Shawn Brink ; http://www.sevenforums.com ; Tutorial: http://www.sevenforums.com/tutorials/47415-open-command-window-here-administrator.html [-H

2021-05-16 16:15:50 425

原创 虚拟机数据库连接失败,错误号码2002

虚拟机终端切换到root用户,输入命令:systemctl stop firewalld关闭防火墙,OK!

2021-05-03 21:12:26 966

原创 Job for network.service failed.

按顺序输入以下命令就ok了。systemctl status network.servicesystemctl stop NetworkManagersystemctl disable NetworkManagersystemctl start network.serviceifconfig

2021-05-03 19:04:19 81

原创 编程实现控制台版并支持两人对战的五子棋游戏

实现import java.util.Scanner;public class Homework2 {Scanner sc = new Scanner(System.in);private char[][] chessboard = new char[17][17]; //构造二维数组存储棋盘public boolean flag = true; //用于判断是否胜利//

2020-12-31 15:37:48 402

原创 欢迎使用CSDN-markdown

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2020-12-31 15:32:38 136 2

空空如也

空空如也

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

TA关注的人

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