2013年1月8日

快速排序 及 java实现

摘要: 描述:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小过程: 分解:数组A[p…r]被划分成两个(可能为空)子数组A[p..q-1]和A[q+1..r],使得A[p ..q-1] <= A[q] <= A[q+1 ..r] 解决:递归调用对子数组A[p..q-1]和A[q+1…r]排序 合并:合并数组时间复杂度:O(n * log n)伪代码:QUICKSORT(A,p,r) if p<r then q = PARITION(A,p,r) QUICKSORT(A,p,q-1) QUICKSORT(A,q+1,r)排序完整数组最初调用 阅读全文

posted @ 2013-01-08 14:25 技术蜗牛+1 阅读(157) 评论(0) 推荐(0) 编辑

冒泡算法 及 Java实现

摘要: 描述:将第一个记录关键字和第二个记录关键字进行比较,若为逆序(即a[1]>a[2]),则将两个记录交换之,然后比较第二个和第三个关键字。依此类推,直至第N-1个记录和第N个关键字进行比较为止。时间复杂度:O(n^2)JAVA代码: 1 for(int i=a.length;i>=1;i--){ 2 3 for(int j=0;j<i-1;j++){ 4 5 System.out.println("j = "+j); 6 7 if(a[j]>a[j+1]){ 8 9 int ... 阅读全文

posted @ 2013-01-08 14:23 技术蜗牛+1 阅读(212) 评论(0) 推荐(0) 编辑

导航