自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用算法——希尔排序(Shell Sort)

1.什么是希尔排序 希尔排序的核心思想是使数组中任意间隔为g的元素都是有序的。首先取小于数组长度的一个数g1作为第一个间隔值,对全部数组进行两两分组,在分组内实现排序。然后取g2(g2<g1,g1到g2应有一个明确的增量算法)再对数组进行两两分组,再实现组内排序。重复上述操作直到gt=1为止,此时数组排序已经完成。2.为什么使用希尔排序 希尔排序是对插入排序的改进,希尔排序在大数组的排序上

2016-01-31 19:53:10 539

原创 常用算法——快速排序

1.什么是快速排序选定数组中一个数为基准数(此文以数组第一个数作为基准数,个人习惯如此)。分别从最左和最右遍历数组,将大于基准数的数放在其右边,小于基准数的数放在其左边。递归方式重复步骤2,直到各区间只有一个数或为空。*快速排序被认为是所有O(N*logN)排序算法中效率最高的。2.时间复杂度&空间复杂度最好情况:O(N*logN) 平均情况:O(N*logN) 最坏情况:O(N^2)

2016-01-26 09:44:49 350

原创 常用算法——二分查找(Binary Search)

1.二分查找原理首先,待查找的数组或集合必须是已经过排序的,本文以从小到大递增数组为例讲解。选取数组中点,将待查找目标与数组中点的值做比较。如果目标小于中点值,则在数组起始位到数组中点这一段再获取中点值与之比较。如果目标大于中点值,则在数组中点到数组结束位这一段在获取中点值与之比较。以此类推,直到找到目标或者遍历完整个数组未找到目标为止。2.二分查找实现(循环方式与递归方式

2016-01-24 10:22:36 646

原创 git更新远程代码到本地

*此文前提是已clone项目到本地1.执行检测远程仓库命令:$ git remote -v会得到如下结果(以racaljk/hosts为例):前两个是你clone的版本,我们需要将racaljk的代码合并到本地。2.执行获取最新版本命令:$ git fetch racaljk master执行结果:3.执行对比命令:$ git log

2016-01-18 23:14:58 997

原创 常用设计模式——模版

1.为什么使用模板定义一个算法框架,将框架内方法延迟到子类去实现,这样可以在不改变算法整体流程的情况下,重新定义某些细节。2.如何实现定义一个抽象基类,抽象基类中应当有至少一个模板方法,在模板方法中提供一些基本的抽象方法,这些抽象方法将在子类中实现。模板方法一定是final类型,使得用户不得修改模板的具体流程(即好莱坞原则)。在子类中还可使用钩子方法,来断定某些模板方法中的基本

2016-01-07 13:50:18 274

空空如也

空空如也

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

TA关注的人

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