当前位置: 首页 > news >正文

网站后台地址忘记了衙门口网站建设

网站后台地址忘记了,衙门口网站建设,网站制作教程,价格低不是干粉灭火器的优点快速排序(Quicksort)是一种高效的排序算法,采用分治法(Divide and Conquer)的策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。以下是用Java实现的快速排序算法: publi…

快速排序(Quicksort)是一种高效的排序算法,采用分治法(Divide and Conquer)的策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。以下是用Java实现的快速排序算法:

public class QuickSort {  // 主方法,用于测试快速排序  public static void main(String[] args) {  int[] array = {10, 7, 8, 9, 1, 5};  int n = array.length;  System.out.println("排序前的数组:");  printArray(array);  quickSort(array, 0, n-1);  System.out.println("排序后的数组:");  printArray(array);  }  // 快速排序方法  public static void quickSort(int[] array, int low, int high) {  if (low < high) {  // 找到分区点  int pi = partition(array, low, high);  // 递归地对左右子数组排序  quickSort(array, low, pi - 1);  quickSort(array, pi + 1, high);  }  }  // 分区方法  public static int partition(int[] array, int low, int high) {  int pivot = array[high];  // 选择最右边的元素作为枢轴  int i = (low - 1);  // i是较小元素的索引  for (int j = low; j < high; j++) {  // 如果当前元素小于或等于枢轴  if (array[j] <= pivot) {  i++;  // 交换array[i]和array[j]  int temp = array[i];  array[i] = array[j];  array[j] = temp;  }  }  // 交换array[i + 1]和array[high] (或枢轴)  int temp = array[i + 1];  array[i + 1] = array[high];  array[high] = temp;  return i + 1;  }  // 打印数组方法  public static void printArray(int[] array) {  int n = array.length;  for (int i = 0; i < n; ++i) {  System.out.print(array[i] + " ");  }  System.out.println();  }  
}

代码解释

  1. 主方法 (main):
    • 创建一个数组并输出排序前的数组。
    • 调用 quickSort 方法对数组进行排序。
    • 输出排序后的数组。
  2. 快速排序方法 (quickSort):
    • 如果 low 小于 high,则进行排序。
    • 调用 partition 方法获取分区点 pi
    • 递归地对分区点前后的子数组进行排序。
  3. 分区方法 (partition):
    • 选择数组的最后一个元素作为枢轴。
    • 初始化较小元素的索引 i
    • 遍历数组,如果当前元素小于或等于枢轴,则交换 array[i] 和 array[j]
    • 遍历完成后,将枢轴放到正确的位置(即 i + 1),并返回该位置。
  4. 打印数组方法 (printArray):
    • 遍历数组并打印每个元素。

注意事项

  • 枢轴的选择可以优化,例如随机选择枢轴或选择数组的中间元素作为枢轴,以减少最坏情况(例如已经有序的数组)下的性能下降。
  • 快速排序的空间复杂度主要是递归调用栈,最坏情况下为 O(n),但平均情况下较好。
  • 快速排序的时间复杂度平均情况下为 O(n log n),最坏情况下为 O(n^2)。

http://www.yayakq.cn/news/71557/

相关文章:

  • 做任务的网站app开发做网站
  • 企业网站图片渐变效果怎么做云主机系统
  • 上哪里建设个人网站网站设计技能培训
  • uo建设网站中国建设银行甘肃省分行官网站
  • 网站建设截图什么是门户网
  • 网站建设无法访问网站百度搜不到WordPress文章
  • 上海集团网站制作东莞网络建设推广
  • 门户网站建设研究绍兴网站建设专业的公司4000-262-
  • 金华建站价格赚钱游戏一天500
  • 怎样在网站图片上做店铺广告黑果云免费虚拟主机
  • 网站开发人员的行业分析合肥学校网站建设
  • xampp wordpress新网站上线 怎么做seo
  • 泉州网站网站建设怎样更新网站快照
  • 网站建设与管理专业好吗暖色网站
  • 网站后台上传文章为什么不显示做最好的在线中文绅士本子阅读网站
  • 做移门图的 网站有哪些网站制作公司 沧州
  • 用什么程序做网站好wordpress文章点击量
  • 网站建设模板哪里下载夜晚直播
  • 民治网站建设做网站设计要多少钱
  • 网站开发主题中文 域名的网站
  • h5网站模板开发No酒类网站建设
  • php怎么做直播网站小程序制作开发进度表
  • 怎么制作网站模版装潢公司网站建设
  • 网站建设与制作教程扬州市建设工程招投标信息网
  • 口碑好的定制网站建设制作公司网站的规划
  • 做网站需要那些东西wordpress 文章缩进
  • 七台河建设网站wordpress referer
  • 响水企业做网站多少钱微网站建设方向
  • 外贸网站分类北京市门头沟有没有做网站的
  • 网站被模仿怎么办品牌网站制作选哪家