2013年10月11日

java冒泡排序

摘要: 1 /** 2 * 原理: 3 * 进行n次循环,每次循环从后往前对相邻两个元素进行比较,小的往前,大的往后 4 * 5 * 时间复杂度: 6 * 平均情况:O(n^2) 7 * 最好情况:O(n) 8 * 最坏情况:O(n^2) 9 *10 * 稳定性:稳定11 **/12 public class 冒泡排序 {13 14 public int[] bubbleSort(int[] a, int n) {15 for (int i = 0; i i; j--) {// i or i-1 ?18 if (a[j]... 阅读全文

posted @ 2013-10-11 15:17 tianyuanshgan 阅读(139) 评论(0) 推荐(0) 编辑

java选择排序

摘要: 1 /** 2 *原理:从无序表a[n]从a[0]到a[n-1]查找出最小值,与第一个元素对调, 3 *然后再除去首个元素,对a[1]~a[n-1]排序,循环n-1次生成有续表。 4 * 5 *时间复杂度: 6 *平均情况:O(n^2); 7 *最好情况:O(n^2); 8 *最坏情况:O(n^2)。 9 *10 *稳定性:不稳定(插入排序一般都不稳定,如堆排序)11 * */12 13 public class 选择排序 {14 15 public int[] selectSort(int[] a, int n) {16 for (int i =... 阅读全文

posted @ 2013-10-11 13:11 tianyuanshgan 阅读(155) 评论(0) 推荐(0) 编辑

java插入排序

摘要: import javax.naming.ldap.SortControl;/** * 原理:分成有序区和无序区,将无序区的元素a[i]从后向前逐一与有序区的元素a[j]进行比较, * 若a[j]>a[i],则将a[j]放到a[j+1]位置,即查找与换位同时进行, 直到找到一个a[j]= 0; j--) { if (a[j] > x) a[j + 1] = a[j]; else break; } a[j + 1] = ... 阅读全文

posted @ 2013-10-11 12:41 tianyuanshgan 阅读(249) 评论(0) 推荐(0) 编辑

java堆排序

摘要: /*堆排序属于选择排序时间复杂度:平均情况:O(nlogn)最好情况:O(nlogn)最坏情况:O(nlogn)稳定性:不稳定 */public class my堆排序 { // 筛运算 public static void sift(Object[] a, int n, int i) { Object x = a[i]; int j = 2 * i + 1; // 左孩子不为空时进行循环 while (j = 0; i--) { sift(a, n, i); } // 排序过... 阅读全文

posted @ 2013-10-11 11:26 tianyuanshgan 阅读(526) 评论(0) 推荐(0) 编辑

2013年10月8日

MapReduce图像输入接口实现

摘要: 实现图像数据输入MapReduce的接口,供参考。package hequn.hadoop.image;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import org.apache.hadoop.io.Writable;public class ImageWritable implements Writable { private int m_width; private int m_height; private int m_channels; priva... 阅读全文

posted @ 2013-10-08 13:47 tianyuanshgan 阅读(347) 评论(0) 推荐(0) 编辑

java实现多线程通信程序

摘要: 用java实现的多线程通信,实现输入一个人名和性别,立即输出该信息。package pac;public class 线程通信 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Q q = new Q(); new Thread(new producer(q)).start(); new Thread(new consumer(q)).start(); }}c... 阅读全文

posted @ 2013-10-08 13:44 tianyuanshgan 阅读(155) 评论(0) 推荐(0) 编辑

2013年10月5日

java创建队列及相关操作

摘要: 前段时间看各位博主写的java队列程序,在这里给出自己的解决方法,望借鉴。//实现队列自定义, 还有点问题/*对于队列来说,rear一直指向队尾要加入的一个元素,而不是已有的元素,所以在入队列时候,是先 data[rear]=obj,然后再rear++,指向下一个空位置; front则指向队列首元素,故在出队列时候,也是先obj=data[front],然后front++; size为队列的长度; MaxSize为队列所用数组的长度; 取首元素等操作时候用到data[(front+1)%data.length],front+1为正常data的下标,因为使用循环数组,故取余; 详... 阅读全文

posted @ 2013-10-05 16:58 tianyuanshgan 阅读(2198) 评论(0) 推荐(0) 编辑

导航