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

wordpress分享卡片插件郴州seo网络优化

wordpress分享卡片插件,郴州seo网络优化,网站的ftp账号和密码是什么,菏泽做网站建设的公司今天的每日一题来自洛谷,题目要求对给定的 N N N 个正整数进行从小到大的排序,并输出结果。我们将使用经典的**快速排序算法(QuickSort)**来解决这一问题。下面我将从问题分析、代码实现、及快速排序的核心思想进行详细说明。 题…

今天的每日一题来自洛谷,题目要求对给定的 N N N 个正整数进行从小到大的排序,并输出结果。我们将使用经典的**快速排序算法(QuickSort)**来解决这一问题。下面我将从问题分析、代码实现、及快速排序的核心思想进行详细说明。

题目分析

我们需要将输入的 N N N 个整数进行排序。根据题目给定的提示, N N N 的范围可以高达 1 0 5 10^5 105,因此我们需要选用高效的排序算法。快速排序具有平均时间复杂度为 O ( N log ⁡ N ) O(N \log N) O(NlogN)

如果你不知道什么是快速排序,以及不了解原理的可以看我另外几篇博客:

  • 【数据结构】分治算法经典: 快速排序详解
  • 【数据结构】时间复杂度和空间复杂度是什么?

代码实现

//
// Created by XuanRan on 2024/10/18.
//#include "iostream"using namespace std;int n;
long long arr[10 * 10 * 10 * 10 * 10 + 5];void quickSort(int l, int r)
{int x = l, y = r, mid = arr[(r + l) / 2];while (x < y){while (arr[x] < mid) x++;while (arr[y] > mid) y--;if (x <= y){swap(arr[x], arr[y]);x++;y--;}}if (y > l) quickSort(l, y);if (x < r) quickSort(x, r);
}int main(int argc, char* argv[])
{cin >> n;for (int i = 0; i < n; i++){cin >> arr[i];}quickSort(0, n - 1);for (int i = 0; i < n; i++){cout << arr[i] << " ";}
}

代码详解

输入与数组初始化

首先,程序读取输入的整数 N N N,并通过 cin 将 N N N 个元素存入数组 arr 中。为了确保数组足够大,这里将数组大小设定为 1 0 5 10^5 105 以上。

快速排序的实现

quickSort(int l, int r) 函数是快速排序的核心部分:

  • 我们选择数组中间的元素 mid 作为基准值。
  • 通过两个指针 x 和 y,分别从左侧和右侧开始扫描数组,将比基准值小的元素放在基准值左边,比基准值大的元素放在基准值右边。
  • 当 x 和 y 指针相遇后,递归地对左右两部分数组分别进行排序,直到整个数组有序。

输出结果

排序完成后,程序遍历数组,并将排序好的元素输出。

快速排序的优缺点

优点:

快速排序的平均时间复杂度是 O ( N log ⁡ N ) O(N \log N) O(NlogN),相对于 O ( N 2 ) O(N^2) O(N2) 的冒泡排序、选择排序等,效率更高。
空间开销小,使用的是原地排序,不需要额外的存储空间。

缺点:

在最坏情况下(如数组已经有序),快速排序的时间复杂度会退化到 O ( N 2 ) O(N^2) O(N2)
为了避免最坏情况,可以采取随机选择基准值的策略,即随机化快速排序(Randomized QuickSort)。

http://www.zhongyajixie.com/news/1347.html

相关文章:

  • 网站编程培训学校有哪些百度知道在线问答
  • 用bootstrap做的网站百度关键词搜索排行
  • php动态网站开发 唐四薪 答案有实力的网站排名优化软件
  • 公司就我一个网站制作百度词条搜索排行
  • 到国外做赌博网站是怎么回事郑州网站推广电话
  • 做网站的需求是吗陕西整站关键词自然排名优化
  • 有用织梦做的大网站吗推荐友情链接
  • 建设一个功能简单的网站app推广平台网站
  • 课程网站建设方案网奇seo培训官网
  • 免备案服务器推荐网站seo的优化怎么做
  • 以下属于网站页面设计的原则有太原最新情况
  • 网站可以做库存吗黄金网站软件免费
  • wordpress添加分类目录关键词青岛百度seo排名
  • 广州网站制作哪家专业网站制作策划
  • dnf怎么做辅助网站郑州seo竞价
  • 网店推广方案范文天津seo培训机构
  • 上海工厂网站建设智能网站排名优化
  • 网站建设公司介绍ppt百度标记号码认证平台
  • 敦化市住房和城乡建设局网站沧州网站建设推广
  • 怎么用支付宝做发卡网站百度热词搜索指数
  • 什么是网站建设的建议北京本地网络推广平台
  • 动态网站建设实训报告福州百度推广排名
  • 怎么撤销网站备案个人网站制作多少钱
  • 天元建设集团有限公司三层九中心网络优化基础知识
  • 做的比较好的二手交易网站有哪些电商网站seo
  • 做网站代管理三年aso优化教程
  • 温州网站公司公众号代运营
  • 建设网站站点过程中太原高级seo主管
  • 白山市网站建设百度风云榜游戏排行榜
  • 网站推销怎么做ppt模板微博推广有用吗