欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
算法設計與分析 2.8 快速排序
/**********************************************************
快速排序的運行時(shí)間與劃分是否對稱(chēng)有關(guān)。
1.其最壞情況是在劃分的過(guò)程中產(chǎn)生兩個(gè)區域分別包含 1 個(gè)和
n - 1 個(gè)元素的時(shí)候。由于partition的計算時(shí)間為 O(n) , 所以
如果算法partition每次都出現這種不對稱(chēng)的劃分,復雜度為O(n^2)。

2.最好和平均都是 O(nlogn) 。
**********************************************************/
import java.util.Arrays;
public class QuickSort {
 public static void quickSort(int[] a, int p, int r) {
  if (p < r) {
      int q = partition(a, p, r);
   quickSort(a, p, q - 1);    //對左半段排序
   quickSort(a, q + 1, r);    //對右半段排序
  }
 }

 private static void swap(int[] a, int i, int j) {
  int temp = a[i];
  a[i] = a[j];
  a[j] = temp;
 }

 private static int partition(int[] a, int p, int r) {
  int u = a[p];       //以第一個(gè)元素為基準
  int i = p + 1;
  int j = r;
  for (; ; ) {       //將小于u的元素交換到左邊,將大于u的元素交換到右邊
   while (a[i] < u) {
       i++;
   }

   while (a[j] > u) {
       j--;
   }
        
   if (i >= j) {
       break;
   }
   swap(a, i, j);
  }
  a[p] = a[j];
  a[j] = u;
  return j;
 }

 public static void main(String[] args) {
  int[] a = {3, 4, 1, 5, 9, 3, 2, 8, 10};
  quickSort(a, 0, a.length - 1);
  System.out.println(Arrays.toString(a));
 }
}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
數據結構與算法——排序算法(5)——快速排序
快速排序
美團面試:請手寫(xiě)一個(gè)快排,被我懟了!
十二之再續:快速排序算法之所有版本的c/c 實(shí)現
八種排序算法總結(6)
《算法導論》讀書(shū)筆記之第7章 快速排序
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久