自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 抽象工厂

简单工厂以及工厂方法在上篇博客中有提到引言有3家企业依次找到你,让你帮他们设计一个网站,分别用oracle,sql server,mysql作为数据库,这3家企业要求设计网站内容大差不差,如果是你?在刚开始设计网站的时候你会怎么做?用hibernate,更换数据库只需要在配置的时候更换方言就好了,如果没有hibernate呢?那就用jdbc,但是如何设计才能保证工作量小一点呢?工厂方法public...

2018-05-30 21:09:09 150

原创 浅谈工厂模式

引言:在我没学习设计模式之前,让我写一个计算器的小demo,我可能会这么写......public static double getResult(double a,double b,String operate) { double result = 0; switch (operate) { case "+": result = a + b; break; case ...

2018-05-30 15:24:00 485

原创 单例模式

单例模式结构图饿汉式单例类public class Singleton { //static final修饰的变量是唯一不可变的,线程安全 private static final Singleton INSTANCE_SINGLETON = new Singleton(); //构造器私有 private Singleton() {} public static Sing...

2018-05-25 20:27:21 103

转载 (转载)归并排序

原文地址:点击打开链接//归并排序 public static void merge(int[] a, int low, int mid, int high) { int[] temp = new int[high - low + 1]; int i = low;// 左指针[low , mid]是左边的 int j = mid + 1;/...

2018-05-15 01:11:46 116

原创 快速排序

基本思想通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序的目的​​。核心函数分区public static int partition(int[] a, int low, int high) { //用子表的第一个记录作为中枢值 int pivotKey = a[low];...

2018-05-15 01:00:43 88

原创 希尔排序

思想希尔排序是对简单插入排序算法的一个升级,它的思路就是将原有大量数据记录分割成如干个子序列,再分别对子序列进行插入排序,当整个序列基本有序时,再对全体记录做一次插入排序。基本有序:就是小的基本在前面,不大不小基本在中间,大的基本在后面。我们上面提到了将整序列进行分割,那么如何分割将是关键,按顺序分割显然就不合适了,比如我们现在有序列是{9,1,5,8,3,7,4,6,2},现在将它分成三组,{9...

2018-05-14 21:15:29 99

原创 直接插入排序

直接插入排序的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增1的有序表。举例:代码public static void insertSort(int[] test) { int target = 0; int j = 0;//记录位置 //假设第一个数已经排好序,被放在了正确的位置上 for (int i = 1; i < test.length;...

2018-05-14 19:31:51 81

原创 简单选择排序

前言爱炒股票短线的人,总是喜欢不断的买进卖出,想通过价差来实现盈利。但通常这种频繁操作的人,即使失误不多,也会因为操作的手续费和印花税过高而获利很少。还有一种做股票的人,他们很少出手,只是在不断的观察和判断,等到时机一到,果断买进或卖出。他们因为冷静和沉着,以及交易的次数少,而最终收益颇丰。冒泡排序的思想就是不断地在交换,通过交换完成最终的排序,这和做股票短线频繁操作的人是类似的。我们可不可以像只...

2018-05-14 18:55:32 124

原创 冒泡排序

思想:两两比较相邻的关键字,如果反序则交换,直到没有反序的记录为止。在了解冒泡排序之前,我们可以实现一个最简单的一个排序。//排序算法中用的比较频繁 public static void swap(int[] test,int i,int j) { int temp = test[i]; test[i] = test[j]; test[j] = temp; }public sta...

2018-05-14 18:21:06 106

原创 堆排序

堆的概念堆是具有下列性质的二叉树:每个节点的值都大于或等于其左右孩子结点的值,成为大顶堆,反之,则是小顶堆。如果按照层序遍历的方式给节点从1开始编号,则结点满足一下关系:K堆排序算法    堆排序就是利用堆(我用的是大顶堆)进行排序的方法。    思想:构造大顶堆后,整个序列的最大值就是堆顶的根结点。移走根结点,然后将剩余的序列重新构造成大顶堆,如此反复,最终将会得到一个有序序列。移走根节点其实就...

2018-05-08 19:43:49 146

空空如也

空空如也

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

TA关注的人

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