2 fy_java

尚未进行身份认证

我要认证

努力变强

等级
TA的排名 27w+

排序算法-基数排序(Java)

基数排序基数排序属于“分配式排序”,又称“桶子法”,就是通过键值的各个位的值,将排序的元素分配至某些“桶中”,达到排序的目的基数排序属于稳定性排序,基数排序是效率高的稳定性排序法基数排序是稳定性排序的扩展基数排序是1887年赫尔曼·何乐礼发明的。它是这样实现的:将整数按照位数切割成不同的数字,然后按每个位数分别比较基数排序的基本思想将所有待比较数值统为同样的数位长度,数位较短的数前面补零。然后,从最低位来时,依次进行一次排序。这样从低位排序一直到最高位排序完成以后,数列就变成一个有序序列

2020-05-27 23:33:34

Java设计模式-工厂模式

工厂模式工厂方法模式的定义:定义一个创建产品对象的工厂接口,将产品对象的市级创建工作推迟到具体子工厂类中。这满足创建型模式中所要求的创建与使用分离的特点。我们把被创建的对象成为产品,把创建产品的对象成为工厂。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫"简单工厂模式",它不属于23种设计模式工厂方法模式主要优点:用户只需要知道具体工厂的名称就可得到所要的产品,无须知道产品的具体创建过程在系统增加新的产品时只需要添加具体产品类和对应的具体工厂类,无须对原工厂进行任何修改,满足开闭原则

2020-05-27 23:03:59

排序算法-归并排序(Java)

归并排序归并排序是利用归并的思想实现的排序方法,该算法采用经典的分治策略(分治法将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的个答案修补在一起,即分而治之)简单图解再来看看治阶段,我们需要将连个已经有序的子序列合并成一个有序序列合并相邻有序子序列示意图(最后一次合并的示意图)代码如下 //分+合的方法 public static void mergeSort(int [] arr,int left,int right,int [] temp){ if(left &lt

2020-05-26 22:46:31

Java设计模式-原型模式

原型模式原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。在生活中复制的例子非常多,这里不一一列举了。模式的结构原型模式包含以下主要角色抽象原型类:规定了具体原型对象必须实现的接口具体原型类:实现抽象原型类的clone()方法,它是可被复制的对象访问类:使

2020-05-26 22:16:19

排序算法-快速排序(Java)

快速排序快速排序是对冒泡排序的一种改进,基本思想是:通过一趟排序将要排序的数据分割成独立的两个部分,其中一部分的所有数据都比另一部分的所有数据都小,从而按照此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行快排示意图快排代码实现 public static void quickSort(int [] arr,int left,int right){ int l = left;//左下标 int r = right;//右下标 int pivot = arr[(left +

2020-05-26 00:01:58

Java设计模式----设计原则

开闭原则开闭原则(Open Closed Principle,OCP)由勃兰特·梅耶(Bertrand Meyer)提出,他在 1988 年的著作《面向对象软件构造》(Object Oriented Software Construction)中提出:软件实体应对扩展开放,对修改关闭,这就是开闭原则的经典定义开闭原则的含义:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求开闭原则的作用:开闭原则是面向对象程序设计的终极目标,使软件实体拥有一定的

2020-05-25 23:34:36

排序算法-希尔排序(Java)

希尔排序希尔排序也是一种插入排序,是插入排序的更高效率的版本,也称为缩小增量排序希尔排序的思想:把记录按照下标的一定增量分组对每组使用直接插入排序算法排序随着增量逐渐减少,每组包含的关键词越来越多当增量减至1时,整个恰好分成一组,算法终止,排序完成希尔排序示意图:最后直接进行微调即可,避免了像简单插入排序那样,当需要插入的数较小时,后移的次数明显增多,从而对效率有不好的影响接下来列举两种实现方式:替换法移位法 public static void shellSort(in

2020-05-23 22:58:24

排序算法-插入排序(Java)

插入排序插入排序属于内部排序法,是对于想要排序的元素以插入的方式找到元素的适当位置,已达到排序的目的插入排序的思想:把n个待排序的元素看成为一个有序表和一个无序表开始时有序表中只包含一个元素,无序表中包含有n-1个元素每次从无序表中取出第一个元素把它的排序码依次与有序表元素的排序码进行比较最后将它插入到有序表中适当的位置,从而形成新的有序序列插入排序思路图Java代码实现: public static void insertSort(int [] arr){ int inse

2020-05-23 22:07:40

排序算法-选择排序(Java)

选择排序选择排序也属于内部排序法,是从想要排序的数据中,按指定的规则选出某一个元素,在依据规定交换位置后达到排序的目的选择排序的基本思想是:第一次从arr[0]~arr[n-1]中选出最小值,与arr[0]交换位置第二次从arr[1]~arr{n-1}中选出最小值,与arr[1]交换位置第三次从arr[2]~arr[n-1]中选出最小值,与arr[2]交换位置以此类推下去进行交换位置总共通过n-1次交换,最后便得到一个有序序列选择排序的思维分析图:选择排序的思路图解假如原始的数组

2020-05-23 21:40:15

排序算法-冒泡排序(Java)

冒泡排序冒泡排序的基本思想是:通过对待排序序列从前向后(从下标最小的元素开始),依次比较相邻元素的值,若发现逆序则交换(即如果左边元素大于右边则交换位置),目的是使较大的元素从前向后移动注意:依次比较每经过一次循环,当前循环内的最大的元素将被移动到最后,那么循环的条件就需要注意了,接下来上代码分析冒泡排序:假如原始数组为 3,9,-1,10,20接下来只列出方法 //arr:传入的需要排序的数组 public static void bubbleSort(int [] arr){ i

2020-05-23 21:09:06

vmware workstation vmx进程结束不了如何解决?

本次博客用于解决如何关掉VMX进程(当然可能别的更好的解决办法)情景复现由于好久没有练习Linux操作系统了,所以今日心血来潮,重新安装了虚拟机,第一次安装后根本没有反应,就关掉了虚拟机,本以为重启后直接重新创建就好了,可是发现怎么也安装不了,后来打开任务管理器发现虚拟机进程没有关,准备结束进程,发现结束不了发现这几个大哥进程结束不了解决办法编辑—首选项—工作区—显示托盘图标—选择...

2020-02-23 14:06:56

Collection 接口

Collection 接口Collection 接口中声明的常用方法an add(E e)把元素放到集合中boolean addAll(Collection<? extends E> c)把另一个集合合并到当前集合中boolean remove(Object o)移除集合中的元素––boolean contains(Object o)...

2018-12-16 21:17:06

Java 包装类、集合框架概述

==== 1 包装类基本数据类型 (原生类)byte Byteshort Shortint Integerlong Longfloat Floatdouble Doublechar Characterboolean Boolean//例子 取int 型的最大值 Integer.MAX_VALUE //例子 把一个字符变大写 ...

2018-12-16 20:49:50

jQuery初步了解

jQuery是js的一个框架,是一个轻量级框架,比js用法简洁,能实现表单验证,页面动画,后台交互,游戏制作等需要导入jQuery插件导入方式1.语法1.$(document).ready(function(){//媒体文件之前加载})2.拒绝访问。(window).load(function(){//在所有文件之后加载})4.(function(){//在所有文件之前...

2018-12-16 20:37:52

Java字符编码

字符编码1、ASCII2、GB2312和GBK3、ANSI4、本地字符集5、Unicode编码6、ISO-8859-1编码7、UTF-88、UTF-8和unicode编码之间的转换规则9、UTF-8的优点10、联通,联想和联ASCII美国(国家)信息交换标准(代)码计算机中只有数字,一切都是用数字表示,屏幕上显示的一个一个的字符也不例外一个字节可表示的数字为0-25...

2018-11-25 09:38:33
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。