- 博客(55)
- 资源 (1)
- 收藏
- 关注
原创 八大排序(八)----归并排序
归并排序是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。基本思想归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序。将一个数组拆分为两个,从中间点拆开,通过递归操作来实现一层一层拆分。 从左右数组中选择小的元素放入到临时空...
2022-05-15 19:12:01
81
原创 八大排序(七)-----希尔排序
希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因 D.L.Shell 于 1959 年提出而得名。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至 1 时,整个文件恰被分成一组,算法便终止。希尔排序的基本思想希尔排序是把记录按下标的一定增量分组,对每组使用直接..
2022-05-15 19:09:00
102
原创 八大排序(六)-----快速排序
快速排序的基本思想:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。算法描述快速排序使用分治法来把一个串(名单)分为两个子串(子列表)具体算法描述如下:会把数组当中的一个数当成基准数 一般会把数组中最左边的数当成基准数,然后丛两边进行检索。丛右边检索比基准数小的,然后左边检索比基准数大的。如果检索到了,就停下,然后交换这两个元素,然后继续检索。public class Quic...
2022-05-15 03:23:33
93
原创 八大排序(五)-----简单选择排序
基本思想第一次从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]交换,…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值,与arr[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。public class Search.
2022-05-15 03:10:37
97
原创 八大排序(四)----基数排序
基数排序 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。 基数排序是桶排序的扩展,他的基本思想是:将整数按位切割成不同的数字,然后按每个位数分别比较...
2022-05-15 02:58:29
103
原创 八大排序(三)------插入排序
思想插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。public class InsertSort { public static void main(String[] args) { int[] arr =new int[] {5,7,4,2,0,3,1
2022-05-15 02:53:34
91
原创 八大排序(二)-----堆排序
基本思想1):将带排序的序列构造成一个大顶堆,根据大顶堆的性质,当前堆的根节点(堆顶)就是序列中最大的元素2):将堆顶元素和最后一个元素交换,然后将剩下的节点重新构造成一个大顶堆;3):重复步骤2,如此反复,从第一次构建大顶堆开始,每一次构建,我们都能获得一个序列的最大值,然后把它放到大顶堆的尾部。最后,就得到一个有序的序列了构造堆在构造有序堆时,我们开始只需要扫描一半的元素(n/2-1 ~ 0)即可,为什么?因为(n/2-1)~0的节点才有子节点,如图1,n=8,(n/2-1) =
2022-05-15 02:47:16
293
原创 zookeeper安装步骤
首先下载安装包,把下载好的安装包上传到服务器里面去进入cd /usr/local创建文件夹mkdir zookeeper将上传好的文件,移动到zookeeper里面去(我是放在/opt里面了,所以从opt里面移动) mv /opt/apache-zookeeper-3.6.3-bin.tar.gz /usr/local/zookeeper进入zookeeper 解压 tar -xvf apache-zookeeper-3.6.3-bin.tar.gz第一
2022-03-29 17:04:28
1580
转载 分布式和集群 ----- 微服务
分布式1)我记得在一本讲 tcp/ip 的书上有这样一句话:分布式是指 多个系统协同合作完成一个特定任务的系统。分布式是解决中心化管理的问题,把所有的任务叠加到一个节点处理,太慢了。所以把一个大的问题拆分为多个小的问题,并分别解决,最终协同合作。分布式的主要工作是分解任务,将职能拆解。集群2)集群主要的使用场景是为了分担请求的压力,也就是在几个服务器上部署相同的应用程序,来分担客户端请求。当压力进一步增大的时候,可能在需要存储的部分,mysql 无法面对很多的写压力。因为在 my..
2022-03-21 23:58:24
468
原创 maven
一、maven是什么?Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件
2022-03-21 23:27:39
92
原创 Redis
1、什么是RedisRedis是一个高速缓存数据库,是一种key-value (键值对)形式的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。2、Redis特点Redis的数据是存放在内存里,所以读写会很快。Redis以内存作为数据存储介质,读写数据的效率极高。Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。Redis的存储分为内存
2022-03-21 18:28:39
885
原创 正则表达式
正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。简单来说,正则表达式就是一串特定的字符串,可以用作对比的一套规则匹配有abc开头的字符串:1 \babc或者^abc2. 匹配8位数字的QQ号码:1 ^\d\d\
2022-03-16 22:15:05
291
原创 java 继承小练习
public class A { public String Show(D obj) { return "A and D"; } public String Show(A obj) { return "A and A"; }}public class B extends A{ public String Show(Object obj) { return "B and B"; } public String Show(A obj) { return .
2022-03-15 00:58:58
491
原创 Java基础考试题1
B 2.String s = new String("xyz");创建了几个StringObject? A:两个或者一个都有可能B:两个C:一个D:三个String类型创建了2个StringObject如果是数据共享,那么可能是一个或者两个D 3,下列代码的输出是什么?public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); ...
2022-03-12 11:34:23
750
原创 前后端交互执行原理
Jdbcjdbc:可以理解为是一套行为规范,是面向应用jdbc主要定义了四个类:DriverManager(驱动管理): 注册jdbcConnection(链接类): 建立数据库的链接Statment(SQL编译器): 向数据库发送并执行sql语句ResultSet(查询结果类): 处理返回的结果jdbc模拟图:原理:用户通过访问浏览器(url统一资源定位符)可以理解服务器就是一台电脑,然后里面有tomcat这个软件,然后Tomcat里面有我们自己新建的.
2022-03-07 20:48:02
1196
原创 后端知识点
解决中文乱码 //中文乱码 request.setCharacterEncoding("utf-8");response.setCharacterEncoding("utf-8"); 设置后端给前端发送的数据格式类型 response.setContentType("text/json;charset=utf-8");//响应json格式的数据 response.setContentType("text/html;charset=utf-8");//响应字符串格式的数据获取前端传的参..
2022-03-07 19:24:10
199
原创 前端小知识点
jquery使用,引用jquery底层文件,掌握jquery语法:$(selector).action()//jquery核心语法文档就绪函数$(document).ready(function()) 简化写法$(function()),等待html渲染完毕之后再执行js代码,保证执行js代码中需要寻找的html元素已经存在垂直居中的原理及代码实现,原理:(窗口的高度-主体的高度)/2就是主体的上外边距,jquery实现代码,$(window).height()是获取窗口的高度 css中的8种基本类.
2022-03-07 19:17:06
86
超级简单的酒店管理系统 运用eclipse 前后端交接 Navicat连接数据库
2022-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人