- 博客(6)
- 资源 (2)
- 收藏
- 关注
原创 从JDK源码分析Java进制转换
二进制、八进制、十进制、16进制数之间的转换题型是经常出现的笔试面试题。关于进制之间的转换也有很多好的算法,在Java中Integer类提供了int类型数据的进制转换。 JDK中Integer类提供了把整形数值转换二进制、八进制以及十进制的实现方法。 具体实现分析
2014-04-25 13:20:22 1396
原创 Java移位操作
移位操作符种类: 左移 右移 >>无符号右移 >>> 移位操作符的操作对象:二进制位,只能处理整数类型。 注:1、左移 2、右移操作 3、无符号右移>>>,一律在高位补0。 示例程序: 示例1:左移操作
2014-04-25 09:32:22 892
原创 希尔排序算法
描述:希尔排序(查看定义)是直接插入排序的一种扩展算法,对于一个有序序列或者基本有序序列,要在插入一个较小的元素的时候就要从后向前(查看原因)不断的移动,如果序列是相当大的,这种移动是十分耗时的。改进的办法就是将每次从后向前移动的步长增大,这样移动比较的次数就会大大的减少。步长的计算一般由公式:h = 3*h+1算出,步长由大逐渐减少至1,当减到1的时候,也就是一般的直接插入排序了,但这个时候序列是相对有序的,保证了相对较小的元素不会出现在序列的最后面,从而减少了移动的次数。
2014-04-05 15:38:48 1185
希尔排序算法
1、描述:希尔排序(查看定义)是直接插入排序的一种扩展算法,对于一个有序序列或者基本有序序列,要在插入一个较小的元素的时候就要从后向前(查看原因)不断的移动,如果序列是相当大的,这种移动是十分耗时的。改进的办法就是将每次从后向前移动的步长增大,这样移动比较的次数就会大大的减少。步长的计算一般由公式:h = 3*h+1算出,步长由大逐渐减少至1,当减到1的时候,也就是一般的直接插入排序了,但这个...
2014-04-05 15:38:00 127
原创 插入排序及优化
插入排序是简单排序的一种,也是基于“减治法”思想的一种算法,减治法有3种变形: 减去一个常量; 减去一个常量因子; 减去的规模是可变的。 插入排序算法的时间复杂度和冒泡、选择排序算法一样也是o(n²),常见的基于插入排序算法思想的排序算法有: 直接插入排序算法; 折半插入排序算法; 希尔排序算法。(查看) 插入的方法一共有三种:
2014-04-05 15:21:31 3266
插入排序算法
插入排序是简单排序的一种,也是基于“减治法”思想的一种算法,减治法有3种变形: 减去一个常量; 减去一个常量因子; 减去的规模是可变的。 插入排序算法的时间复杂度和冒泡、选择排序算法一样也是o(n²),常见的基于插入排序算法思想的排序算法有: 直接插入排序算法; 折半插入排序算法; 希尔排序算法。(查看) 插入的方法一共有三种: 我们可以从左向右扫描序列,找到合...
2014-04-05 15:21:00 275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人