自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spring data mongo 使用$avg 对数组类型进行求平均

spring data mongo 使用 $avg 对数组类型进行求平均

2022-04-15 16:23:03 364

原创 Spring data Mongo $map转写用例

Spring data mongo $map + $subtract 用法

2022-04-14 11:52:20 506

原创 Java之快速排序

Java快速排序

2022-04-06 15:59:36 871

原创 快速排序前置

快速排序前置

2022-04-06 10:54:28 145

原创 使用Maven项目时,配置了静态资源过滤,但是不起作用

当你遇到这个错误时,存在很多可能。1.映射文件的namespace没写或者错误2.映射文件中的sql语句的id没有与接口方法名一致如果你使用的是Maven创建的项目的话,以上两个都没问题,那么就是因为你maven项目在打包的时候是会忽略java文件夹下的.xml等资源文件,只有resources资源文件夹下资源文件会被打包解决方法:1.在pom.xml文件下配置静态资源过滤 <build> <resources> <resource&gt.

2020-11-02 14:21:44 1450

原创 关于SpringMVC中访问路径/的问题

关于SpringMVC中访问路径/的问题很多人搞不明白springmvc中访问路径的问题,然后去百度搜之类的,大部分都给出了相当详细的解释,但是其中包含了一个大坑,这是很多人可能理解存在一些问题导致的(包括我)关与前台路径的/问题说明: 指在html,js页面的路径加上/<a href="/test">点击我</a>表示访问项目的根路径即http://localhost:8888/test不加斜杠<a href="test">点击我</a

2020-10-30 11:33:42 2212

原创 JSP学习

Jsp环境搭建及入门jsp的全名: JavaServer Pagesjsp的意思: 动态网页动态、静态区分不用和是否有“动感”混为一谈是否随着时间、地点、用户操作的改变而改变注:动态网页需要用到服务端脚本语言(JSP)架构CS架构:全名: Client Server(客户端服务)图示:优点:1.美观2.响应更加迅速不足:1.如果软件升级,那么全部软件都需要升级2.维护麻烦,需要维护每一台客户端软件3.每一台客户端都需要安装客户端软件BS架构:全名: Browser

2020-08-10 16:24:27 10174 9

原创 数据结构之二叉排序树

二叉排序树别名:二叉搜素树,二叉查找树为什么使用二叉排序树线性结构的缺点顺序存储不排序: 查找困难,只能通过线性查找一个一个找排序:删除和插入操作困难链式结构无论排序还是不排序,查找都十分麻烦注:二叉排序树(BST) 可以解决上述的问题定义对于一个二叉树中的任意一个非叶子节点,要求左子节点比当前节点小,右子节点比当前节点大注:空树也可看成二叉排序树数组:{7,3,10,12,5,1,9}构成二叉排序树中序遍历结果:1,3,5,7,9,10,12注:二叉排序树的中序遍历可以形成

2020-07-20 21:34:12 439 1

原创 赫夫曼树及赫夫曼编码的实现

赫夫曼树定义: 给定N个权值作为N个叶子节点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为赫夫曼树(Huffman Tree)。叶子的带权路径叶子节点的带权路径=叶子节点的权+从根节点在叶节点的路径长例如:叶子节点4的带权路径= 4 *2​叶子节点7的带权路径= 7 *2树的带权路径长度WPLWPL(a) = (9+4+5+2)X2=40WPL(b) = 9 +5X2+4X3+2X3=37WPL© = 4 + 2X2+5X3+9X3=50注:

2020-07-19 19:16:59 1719

原创 八大排序算法之堆排序

JAVA实现堆排序堆排序利用:顺序结构的二叉树原理:借用大顶堆和小顶堆堆的分类1.大顶堆(大根堆):父节点的值大于任意一个子节点2.小顶堆(小根堆):父节点的值小于任意一个子节点步骤:1.构造一个大顶堆,取堆顶数字(最大值)2.剩下的数字再构造一个大顶堆,取堆顶数字(剩余数中的最大值)3.重复以上操作,直到取完堆中的数字图片示例:代码://堆排序public static void heapSort(int[] arr) { /* 开始位置是最后一个元素的父节点

2020-07-17 15:31:39 194

原创 数据结构之树的遍历

JAVA实现树的遍历注:主要是指二叉树 D是指根节点,L是左节点,R是右节点前序遍历DRL (先取根节点,再取左节点,最后取右节点)结果:public void frontShow(){ System.out.print(this.getValue()+"\t"); if(this.treeLeftNode!=null){ this.treeLeftNode.frontShow(); } if(this.treeRightNode!=null)

2020-07-16 21:59:43 245

原创 八大排序算法之基数排序

JAVA实现基数排序思路:1.先创建 二维数组int[][] arr = int[10][arr.length ];2.根据个位大小放入二维数组​ 例如:个位为5就放入数组arr[5][0] arr[5][1]...一直放下去3.按照先放先取的顺序全部取出4.按照十位的大小放入二维数组5.按照先放取的顺序全部取出6.按照百位的大小放入二维的数组7.按照先放先去的顺序全部取出8.排序完毕**使用范围:**适用于位数大的元素图片演示:代码: public static vo

2020-07-15 13:32:52 183

原创 八大排序算法之归并排序

JAVA实现归并排序**说明:**归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。思路:1.将序列中待排序数字分成若干组,每个数字分为一组2.将若干组两两合并,保证合并后的组是有序的3.重复第二步操作直到只剩下一组,排序完成图片演示:代码:/* 实际上我们需要将数组中的每个

2020-07-15 13:26:51 151

原创 八大排序算法之选择排序

JAVA实现选择排序**思路:**选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕图片演示:代码:public static void selectSort(int[] arr){ int temp; for(int i =1;i<arr.length;i++

2020-07-15 13:19:05 131

原创 八大排序算法之希尔排序

JAVA实现希尔排序思路:1.分组 (间隔通常为总长度的一半)注:不同的颜色表示不同的分组2.组内排序3.重新设置分组间隔(原来间隔的一半)4.组内排序…n-1.直到重新设置的分组间隔为1n.组内排序注:组内排序使用的为插入排序法注:数组越大,希尔排序的效率就比插入排序越高图片演示:public static void shellSort(int[] arr){ //遍历所有的步长 for(int d=arr.length/2;d>0;d/=2)

2020-07-15 13:10:57 215

原创 八大排序算法之插入排序

JAVA实现插入排序思路:1.从第一个元素开始,该元素可以认为已经被排序;2.取出下一个元素,在已经排序的元素序列中从后向前扫描;3.如果该元素(已排序)大于新元素,将该元素移到下一位置;4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置;5.将新元素插入到该位置后;6.重复步骤2~5。图片演示:代码: public static void insertSort(int[] arr){ for (int i =1;i<arr.length;i++)

2020-07-15 13:01:26 130

原创 八大排序算法之快速排序

JAVA实现快速排序思路:1.选取数组的第一个元素当做基准数据,并设两个指示标志:low指向起始位置,high指向末尾。2.先high往左扫描,3.当遇到比基准数据小的数据就放到整个序列左边(有空位)3.如果比基准数据大,就不移动,接着high向左移动接着判断4.如果移动以后就使用low向右扫描5.当遇到比基准数大的数据就放到整个序列的右边(有空位)5.如果比基准数据小,就不移动,接着low向右移动接着判断6.当low和high指向同一个位置时,将基准数放入该位置7.这次就分为以基准数为

2020-07-15 12:53:43 254

原创 八大排序算法之冒泡排序

JAVA实现冒泡排序# 步骤:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个2.从开始第一对到结尾的最后一对,最后的元素应该会是最大的数3.针对所有的元素重复以上的步骤,除了最后一个(因为最后一个元素已经是最大的)4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较注:每一次循环都会找到一个最大的数,然后最大的数会放在最后面时间复杂度:最好的时间复杂度为O(n);最坏的时间复杂度为O(n^2);*注:一般采用最坏的时间复杂度当做算法的时间复杂度*publ

2020-07-15 11:59:53 203

空空如也

空空如也

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

TA关注的人

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