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

怎么把自己的网站做自适应网站可评论留言的网页怎么制作

怎么把自己的网站做自适应网站,可评论留言的网页怎么制作,佛山优化推广,哪里租服务器做网站今天的每日一题来自洛谷,题目要求对给定的 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.yayakq.cn/news/930696/

相关文章:

  • 信阳建网站北京保障房建设项目网站
  • 企业管理网站深圳龙岗网站维护
  • 哈尔滨做网站需要多少钱四川seo排名
  • 网站建设好的公司国内建网站软件
  • 工程建设信息网站wordpress custom search
  • 湘潭做网站的公司网站宣传
  • 采购网站大全做网站保存什么格式最好
  • 公关到底做什么seo全站优化全案例
  • 网站在建设中模板公司名字大全集
  • 网站建设公式锦州网站建设案例
  • 备案 新增网站小程序商店助手
  • 如何自己创建网站手机html网站开发工具
  • 网站设计搜索栏怎么做模板建站seo优化
  • 空调维修自己做网站wordpress 笔记本主题
  • 考试微网站开发做除尘环保的如何推广自己的网站
  • 服装私人订制网站视频网站开发流程
  • 长沙做网站建设的如何攻克房地产网站
  • 哪些网站会盗取定制网站开发哪家好
  • 网站做的不好会有什么后果比较好的wordpress
  • 优化建立生育支持政策体系seo网站营销推广全程实例 pdf
  • 百度收录网站电话简单网页制作代码html
  • 做网站可以用哪些语言网站能实现什么功能
  • 保定设计网站地图制作网站
  • 都什么企业需要网站吗dw怎么做连接到另外一个网站
  • 婚纱网站设计5个月的新站网站被k了会怎么样
  • 手机网站端域名怎样做解析页面设计计划
  • 公司网站建设视频教程如何设计制作企业网站
  • 网站策划素材京东商城网上购物商城
  • 北京网站建设北京企业适合用模板网站
  • 电子商务网站建设有哪些流程图网站搭建服务器配置