C++排序算法
文章平均质量分 79
枫舞云天^0^
世味年来薄似纱,
谁令骑马客京华。
今夜月明人尽望,
不知秋思落谁家?
矮纸斜行闲作草,
晴窗细乳戏分茶。
旧时王谢堂前燕,
飞入寻常百姓家。
朱雀桥边野草花,
乌衣巷口夕阳斜。
小楼一夜听春雨,
深巷明朝卖杏花。
中庭地白树栖鸦,
冷露无声湿桂花。
素衣莫起风尘叹,
犹及清明可到家。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
洛谷P1177【模板】排序:十种排序算法全解(1)
之前我已经把十大排序算法全讲了一遍(具体详见专栏),今天我们来用一道简单的题目总结实战一下。原创 2025-04-19 17:39:59 · 400 阅读 · 0 评论 -
基数排序:从数字到字符的奇妙“搬家”之旅
我们要探索的,是一颗既古老又充满智慧的星辰——基数排序(Radix Sort)。基数排序的核心思想是将复杂问题分解为简单问题,通过逐位处理,将排序过程转化为一系列简单的分配与收集操作。这种分解策略不仅降低了排序的复杂度,还使得基数排序在处理大规模数据时表现出色。原创 2024-12-17 20:34:49 · 700 阅读 · 0 评论 -
桶排序:让数据在桶里“洗个澡”,然后焕然一新!
桶排序是一种简单而有效的排序算法,特别适合处理均匀分布的数据。它通过将数据分散到多个桶中,再对每个桶内的数据进行排序,最后合并所有桶中的元素,得到最终的排序结果。原创 2024-12-16 20:20:47 · 555 阅读 · 0 评论 -
计数排序:数不尽的奇妙与高效
嘿,各位编程界的探索者们,今天咱们来聊一个既简单又高效的排序算法——计数排序(Counting Sort)!想象一下,如果算法世界也有人口普查,那计数排序绝对是个条理清晰、效率奇高的“统计员”。:计数排序是一种稳定的排序算法。计数排序使用一个额外的数组C,其中第i个元素Ai是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。它只能对整数进行排序。核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。原创 2024-12-10 20:31:00 · 1084 阅读 · 0 评论 -
堆排序:从菜鸟到大神的华丽转身(二)——P1090堆排解析
注:因为这是第二篇的原因,所以前文——结尾有跳转链接在一个果园里,果农们需要将果子分类放入不同的篮子中。每个篮子都有一个容量上限,果农们希望用尽可能少的篮子来装所有的果子。为了简化问题,我们假设每个果子的重量都是正整数,并且每个篮子的容量上限也是正整数。现在,果农们得到了一个果子的重量列表,他们想知道最少需要多少个篮子来装下所有的果子。这个问题可以看作是一个典型的贪心算法问题。我们可以使用小根堆来维护当前的篮子重量,每次从堆中取出最小的篮子,将当前果子放入其中(如果放得下),否则新开一个篮子。原创 2024-12-02 20:16:57 · 884 阅读 · 0 评论 -
堆排序:从菜鸟到大神的华丽转身(一)——原理与代码
两个星期都在写这一篇(堆排序)……原创 2024-12-02 20:14:37 · 871 阅读 · 0 评论 -
快速排序:一场算法界的“速度与激情”
快速排序原创 2024-11-26 20:26:34 · 828 阅读 · 0 评论 -
笑看归并排序:时间、空间与稳定的艺术
具体来说,当我们合并两个有序的子数组时,如果左子数组的一个元素大于右子数组的一个元素,那么左子数组的这个元素与右子数组的所有剩余元素都会构成逆序对。:首先,我们把待排序的数组从中间分成两半,如果数组的长度是奇数,那就“四舍五入”一下,差不多就行。,无论是在最好的情况下,最坏的情况下,还是平均情况下,它都保持着这个优雅的复杂度。这四个字听起来就像是武侠小说里的大招,但实际上,它就是把一个大问题分成若干个小问题来解决,然后再把解决后的小问题合并起来,得到最终的结果。现在,给出数列,请你求出数列中逆序对的总数。原创 2024-11-01 20:19:44 · 1728 阅读 · 0 评论 -
希尔排序:一场数字界的“滑梯大赛”
在编写希尔排序代码时,要注意选择合适的间隔序列,以及正确处理边界条件。同时,在解决具体问题时,要灵活运用希尔排序,结合题目要求进行优化和扩展。最后,如果你觉得这篇文章对你有帮助,就点一下关注吧!原创 2024-10-31 21:20:19 · 1585 阅读 · 0 评论 -
插入排序:让你的数据排排队,还能笑出腹肌!
这个问题可以通过深度优先搜索(DFS)结合插入排序的思想来解决,但考虑到题目中的数据规模较小,我们也可以采用一种更简单直接的方法:生成所有可能的数,然后用插入排序进行去重和排序,最后统计不同数的个数。这种思想与插入排序中的元素插入过程类似,但不同的是,插入排序是在一个固定的数组中操作,而这里我们是在动态规划的过程中构建和更新序列。这里的音调高低是用整数表示的。假设你手里有一叠扑克牌,牌面分别是:5,3,8,6,2,7,4,1。满足条件的数为6,16,26,126,36,236,136,116,316。原创 2024-10-30 20:05:04 · 975 阅读 · 0 评论 -
选择排序:在万千数据中寻找你的“真命天子”
关于选择排序的介绍、原理、代码实现以及洛谷例题解析的全部内容。希望这些内容能够帮助你更好地理解和掌握选择排序算法。原创 2024-10-29 20:32:27 · 931 阅读 · 0 评论 -
冒泡排序:从海底冒泡到洛谷之巅的奇妙之旅
通过以上的介绍和实例,我们可以看到冒泡排序虽然简单,但在特定的场景下却能发挥出巨大的作用。它不仅是学习排序算法的基础,更是理解算法思想和优化技巧的重要途径。关注算法效率:虽然冒泡排序在处理小规模数据时表现良好,但在处理大数据集时效率较低。因此,在实际应用中,我们需要根据数据规模和具体需求选择合适的排序算法。理解算法原理:冒泡排序的核心思想是通过不断比较和交换相邻元素来实现排序。这种思想不仅适用于冒泡排序,还可以扩展到其他排序算法中。实践出真知:通过编写代码和解决实际问题,我们可以更好地理解和掌握冒泡排序。原创 2024-10-28 21:57:23 · 840 阅读 · 0 评论 -
冒泡排序:一场数字间的“冒泡”大战
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端,但是在广泛适用后,冒泡排序可以用来排任意顺序。原创 2024-10-25 16:42:29 · 728 阅读 · 0 评论 -
C++算法——之快速排序
但我们并不能确定待排元素中究竟哪一部分是有序的,所以我们一开始只能认为第一个元素是有序的,依次将其后面的元素插入到这个有序序列中来,直到整个序列有序为止。在待排序的元素中,假设前n-1个元素已有序,现将第n个元素插入到前面已经排好的序列中,使得前n个元素有序。按照此法对所有元素进行插入,直到整个序列有序。对于排序,我自认为已经很熟练了。原创 2024-10-01 15:39:57 · 364 阅读 · 0 评论 -
C++算法之插入排序
对于排序,我自认为已经很熟练了。原创 2024-10-01 15:37:47 · 410 阅读 · 0 评论 -
C++ 算法——插入排序
对于排序,我自认为已经很熟练了。原创 2024-10-01 15:32:52 · 335 阅读 · 0 评论
分享