黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  千鋒問問  > 歸并算法java實現方法怎么操作

歸并算法java實現方法怎么操作

匿名提問者 2023-10-16 15:45:42

歸并算法java實現方法怎么操作

推薦答案

  遞歸實現,遞歸是最常見的歸并排序實現方式。這個方法將數組分為左右兩部分,分別對左右兩部分進行遞歸排序,然后再合并它們。

Java教程

  public class MergeSort {

  public static void merge(int[] arr, int left, int mid, int right) {

  int n1 = mid - left + 1;

  int n2 = right - mid;

  int[] L = new int[n1];

  int[] R = new int[n2];

  for (int i = 0; i < n1; i++) {

  L[i] = arr[left + i];

  }

  for (int j = 0; j < n2; j++) {

  R[j] = arr[mid + 1 + j];

  }

  int i = 0, j = 0, k = left;

  while (i < n1 && j < n2) {

  if (L[i] <= R[j]) {

  arr[k] = L[i];

  i++;

  } else {

  arr[k] = R[j];

  j++;

  }

  k++;

  }

  while (i < n1) {

  arr[k] = L[i];

  i++;

  k++;

  }

  while (j < n2) {

  arr[k] = R[j];

  j++;

  k++;

  }

  }

  public static void mergeSort(int[] arr, int left, int right) {

  if (left < right) {

  int mid = left + (right - left) / 2;

  mergeSort(arr, left, mid);

  mergeSort(arr, mid + 1, right);

  merge(arr, left, mid, right);

  }

  }

  public static void main(String[] args) {

  int[] arr = {12, 11, 13, 5, 6, 7};

  mergeSort(arr, 0, arr.length - 1);

  System.out.println("Sorted array:");

  for (int num : arr) {

  System.out.print(num + " ");

  }

  }

  }

 

  這個方法使用遞歸將數組分成左右兩半,然后分別對左右兩半進行排序,最后合并左右兩半得到有序數組。

其他答案

  •   迭代實現,迭代方法不使用遞歸,而是使用循環來實現歸并排序。它需要使用一個輔助數組來保存中間結果,以避免頻繁創建和銷毀數組。

      public class MergeSort {

      public static void merge(int[] arr, int left, int mid, int right) {

      int n1 = mid - left + 1;

      int n2 = right - mid;

      int[] L = new int[n1];

      int[] R = new int[n2];

      for (int i = 0; i < n1; i++) {

      L[i] = arr[left + i];

      }

      for (int j = 0; j < n2; j++) {

      R[j] = arr[mid + 1 + j];

      }

      int i = 0, j = 0, k = left;

      while (i < n1 && j < n2) {

      if (L[i] <= R[j]) {

      arr[k] = L[i];

      i++;

      } else {

      arr[k] = R[j];

      j++;

      }

      k++;

      }

      while (i < n1) {

      arr[k] = L[i];

      i++;

      k++;

      }

      while (j < n2) {

      arr[k] = R[j];

      j++;

      k++;

      }

      }

      public static void mergeSort(int[] arr) {

      int n = arr.length;

      for (int currentSize = 1; currentSize < n; currentSize *= 2) {

      for (int left = 0; left < n - 1; left += 2 * currentSize) {

      int mid = Math.min(left + currentSize - 1, n - 1);

      int right = Math.min(left + 2 * currentSize - 1, n - 1);

      merge(arr, left, mid, right);

      }

      }

      }

      public static void main(String[] args) {

      int[] arr = {12, 11, 13, 5, 6, 7};

      mergeSort(arr);

      System.out.println("Sorted array:");

      for (int num : arr) {

      System.out.print(num + " ");

      }

      }

      }

      這個方法使用循環迭代來排序數組,避免了遞歸調用,同時利用了一個輔助數組進行合并操作。

  •    自底向上的迭代實現,這種實現方式也是使用迭代,但與上述方法略有不同,它是自底向上的迭代,從單個元素開始,逐漸增加合并的區間大小。

      ```java

      public class MergeSort {

      public static void merge(int[] arr, int left, int mid, int right) {

      int n1 = mid - left + 1;

      int n2 = right - mid;

      int[] L = new int[n1];

      int[] R = new int[n2];

      for (int i = 0; i < n1; i++) {

      L[i] = arr[left + i];

      }

      for (int j = 0; j < n2; j++) {

      R[j] = arr[mid + 1 + j];

      }

      int i = 0, j = 0, k = left;

      while (i < n1 && j < n2) {

      if (L[i] <= R[j]) {

      arr[k] = L[i];

      i++;

      } else {

      arr[k] = R[j];

      j++;

      }

      k++;

      }

      while (i < n1) {

      arr[k] = L[i];

      i++;

      k++;

      }

      while (j < n2) {

      arr[k] = R[j];

      j++;

      k++;

      }

      }

      public static void mergeSort(int[] arr) {

      int n = arr.length;

      for (int currentSize = 1; currentSize < n; currentSize *= 2) {

9999在线观看| 免费无码一区二区三区| 中文字幕亚洲一区| 美女mm1313爽爽久久久蜜臀| 最爽无遮挡行房视频在线| 国产极品国产极品| 日本高清久久一区二区三区| 亚洲女与黑人做爰| 日韩深夜福利| 久草影视在线| 国产一级精品毛片| 亚洲一区二三| 不卡av日日日| 一区二区三区在线视频观看| 欧美专区一区| 性网站在线免费观看| 久久这里只有精品9| 丁香婷婷激情网| 国产成人av网址| 亚洲欧洲精品成人久久奇米网| 台湾佬综合网| 欧美jizzhd欧美| 女人公敌韩国| 精品一区二区三区蜜桃在线| 亚洲最大av在线| 亚洲国产成人精品久久| 精品伊人久久久久7777人| 国产精一区二区| 午夜男人视频在线观看| 久久久久久久久久久久久av| 91日韩视频在线观看| 亚洲一区二区少妇| 欧美久久高跟鞋激| 日本免费新一区视频| 欧美办公室脚交xxxx| 国产原创在线| 中文字幕电影av| 裸体裸乳免费看| 日韩三级成人av网| 欧美色视频在线| 91免费观看国产| 欧美日韩爱爱| 麻豆传媒在线免费看| 青青草国产免费自拍| 四虎影院在线免费播放| 女尊高h男高潮呻吟| 久久综合色视频| 国产精品专区一| 欧美精品一区二区在线观看| 亚洲自拍偷拍图区| 日本人妖一区二区| 欧美丝袜一区| 亚洲视频资源| 在线āv视频| 在线影院福利| 日日骚.com| 亚洲人在线观看视频| 日韩精品视频播放| 免费视频91蜜桃| 免费看又黄又无码的网站| 欧美一区1区三区3区公司| 亲爱的老师9免费观看全集电视剧| 欧美zozo另类异族| 欧美性xxxx极品高清hd直播| 免费观看久久久4p| 欧美国产日本| 久久不见久久见中文字幕免费| 在线成人视屏 | 中文精品一区二区| 一本久道久久综合中文字幕 | 精品国产aⅴ| 亚洲成人va| 91精品专区| 一级毛片免费看| 欧美性狂猛xxxxxbbbbb| 亚洲国产一二三区| 亚洲无码久久久久| 欧美极品视频在线观看| 欧美xxxxxbbbbb| 色一情一乱一伦一区二区三区日本 | 国产午夜精品一区二区三区视频| 天堂久久一区二区三区| 亚洲欧美网站| 99精品美女| 伊人久久大香线| 高清精品xnxxcom| 2021最新国产精品一区| 五月婷婷在线播放| 国产xxxxxx| 日本激情一区二区三区| 先锋影音男人站你懂得| 色偷偷av男人的天堂| 亚洲国产精品suv| 亚洲第一色网| 精品一区二区观看| xxx电影网| 很黄很污的网站| 亚洲小说区图片区情欲小说| 香蕉97视频观看在线观看| 婷婷丁香六月天| 国产美女视频一区二区三区| 中文字幕乱在线伦视频乱在线伦视频| 国产黄色免费网| 黄漫在线播放| 四虎精品在线| 久久av色综合| а√在线中文网新版地址在线| 日批视频免费在线观看| 欧美激情精品久久| 国产美女永久免费| 欧美一区二区三区久久综| 日韩激情文学| 黄色网址三级| 视频在线不卡| 成人欧美大片| 美女精品视频在线| 99久久夜色精品国产亚洲96| 日本伊人色综合网| 国产成人精品免费一区二区| 亚洲黄色小视频| 精品三级av在线| 久久69精品久久久久久国产越南| 成人精品一区二区三区| 国产伦精品一区二区三区照片91 | 国产精品青草久久| 在线不卡的av| 91av在线免费观看视频| 91精品视频免费看| 久青草视频在线播放| 国产又黄又粗又猛又爽的视频| 国产aaaaaaaaa| 国产精品污视频| 日日摸日日搞日日| 看黄网站在线| 成人网av.com/| 免费日韩视频| 一区二区三区在线观看动漫| jlzzjlzz亚洲日本少妇| 国产真实精品久久二三区| 中文字幕一区二区三区在线播放 | 夜夜嗨yeyeh| 国产在线观看a| 视频一区在线| seseavlu视频在线| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的 | 久久91亚洲精品中文字幕| 91精品久久久久久久久| 四虎永久在线精品无码视频| 蜜桃传媒一区二区亚洲| 天天干视频在线| jk漫画禁漫成人入口| www.一区二区| 久久久中精品2020中文| 国产综合欧美在线看| 国产福利精品一区二区三区| 午夜影院免费在线观看| 999大胆视频| 精品视频一区二区三区四区五区| 亚洲一区网站| 日韩欧美在线观看视频| 美女精品视频一区| 四虎一区二区| 国产白丝一区二区三区| 青青草社区在线| 青草青在线视频| 亚洲精品极品| 亚洲成人免费电影| 国产精品久久久久久久av电影| 日韩中文在线字幕| 国产一级在线播放| 成人黄色影视| 欧美一级一片| 久久久不卡网国产精品一区| 久久这里有精品| 9999在线观看| 国产精品免费无遮挡无码永久视频| 娇小的粉嫩xxx极品| 国产精品极品国产中出| 97se狠狠狠综合亚洲狠狠| 日韩成人黄色av| 在线视频一区观看| 91传媒免费观看| 91p在线观看| 另类春色校园亚洲| 国产欧美日韩在线| 欧美黑人巨大xxx极品| 亚洲av毛片在线观看| 男人天堂电影网| 在线观看爽视频| 精油按摩中文字幕久久| 亚洲一区第一页| 亚洲性生活视频在线观看| 91九色在线观看| 波兰性xxxxx极品hd| 美女的诞生在线观看高清免费完整版中文| 日韩综合精品| 精品国产乱码久久久久久免费 | 国产香蕉97碰碰久久人人| 国产区二区三区| 欧美做a欧美|