![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C/C++算法
文章平均质量分 67
C语言、C++算法学习专栏,收录了一些题目。
木鳶戾天
鸢飞戾天,鱼跃于渊,每个人都能找到自己的方向
展开
-
【C++算法】重新排序
给定一个数组 A 和一些查询 Li, Ri,求数组中第 Li 至第 Ri 个元素之和。小蓝觉得这个问题很无聊,于是他想重新排列一下数组,使得最终每个查询结果的和尽可能地大。小蓝想知道相比原数组,所有查询结果的总和最多可以增加多少?原创 2024-05-22 11:40:59 · 213 阅读 · 0 评论 -
【C语言算法】求逆序对数目(C语言+归并排序)
他想在类似的任务中打败他的兄弟。对给定序列进行排序时,相邻数字的最小交换次数是多少?他让你为他写一个计算机程序,回答O(nlogn)中的问题。第一行包含序列的长度N(1原创 2024-03-18 22:35:02 · 572 阅读 · 0 评论 -
【C语言算法】归并排序(视频+注释+例题=秒懂)
学习高级排序之前,我们学过几个简单排序:冒泡排序,(直接)插入排序,选择排序,他们对于数据量不是特别大的还是能够胜任,时间复杂度为O(n²),空间复杂度为O(1),这也使得他们在处理大量数据时浪费较多时间,因此我们可以使用时间复杂度更低的高级排序。高级排序有以下几种常用的:归并排序,快速排序,堆排序,计数排序,桶排序。归并排序属于高级排序中的一种,其特点明显,使用的是分治思想"分"指的是将数组分割为两个子数组,并使用递归进行对半分,直到子数组的长度变为1,无法再分割为止。接着通过。原创 2024-03-17 21:07:19 · 307 阅读 · 0 评论