会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
green-cnblogs
考 古 发 现 探 索 创 新
首页
联系
管理
上一页
1
2
3
4
5
6
7
8
下一页
2024年7月20日
常见的排序算法——堆排序(二)
摘要: 本文记述了针对堆排序微小改动的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 堆的下沉操作中用到了昂贵的数据交换操作,此改动参考无交换的插入排序的思想,实现了减少数据交换的下沉操作。 先将要下沉的元素存放在临时空间中,再将下降过程中遇到的所有元素逐层上移,待找到下
阅读全文
posted @ 2024-07-20 11:04 green-cnblogs
阅读(26)
评论(0)
推荐(0)
2024年7月8日
常见的排序算法——堆排序
摘要: 本文记述了堆排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 J.W.J Williams 提出了堆排序的算法,该算法利用了二叉堆有序的性质,将排序的过程分为先构建堆再排序的两个阶段。 先构建堆。从当前待排序范围一半的位置开始向第一个位置扫描,用下沉操作处理每
阅读全文
posted @ 2024-07-08 21:15 green-cnblogs
阅读(92)
评论(0)
推荐(0)
2024年7月5日
堆的基本概念、表示法和操作
摘要: 本文记述了堆的基本概念、表示法和操作。 ◆ 概念 堆是一种存放多个元素的数据结构,它要求每个元素都要大于等于或小于等于另外若干特定位置的元素。堆常用完全 d 叉树(以下简称“完全树”)表示,堆中的元素与树上的结点一一对应,这样的完全树是堆有序的,也被称为 d 叉堆。当完全树的每个结点都大于等于它的所
阅读全文
posted @ 2024-07-05 22:31 green-cnblogs
阅读(117)
评论(0)
推荐(0)
2024年6月24日
常见的排序算法——快速排序(五)
摘要: 本文记述了非递归快速排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 非递归的快速排序,使用一个栈保存待排序子范围的范围边界。在循环中弹出栈顶的范围边界。使用切分函数找到此范围中一个切分位置,保证其左侧子范围内的所有元素都不大于切分位置的元素,右侧子范围内的所
阅读全文
posted @ 2024-06-24 15:44 green-cnblogs
阅读(46)
评论(0)
推荐(0)
2024年6月18日
常见的排序算法——快速排序(四)
摘要: 本文记述了 J.Bently 和 D.Mcllroy 的快速三向切分快速排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 对比快速排序、快速排序(二)和快速排序(三)可以发现,对于随机数据而言,E.W.Dijkstra 的三向切分快速排序的性能要慢于标准快速排
阅读全文
posted @ 2024-06-18 10:03 green-cnblogs
阅读(87)
评论(0)
推荐(0)
2024年6月12日
常见的排序算法——快速排序(三)
摘要: 本文记述了 E.W.Dijkstra 的三向切分快速排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 “在有大量重复元素的情况下,快速排序的递归性会使元素全部重复的子数组经常出现。这就有很大的改进潜力,将当前实现的线性对数级的性能提高到线性级别。”(引《算法(
阅读全文
posted @ 2024-06-12 15:18 green-cnblogs
阅读(87)
评论(0)
推荐(0)
2024年6月11日
C++11 运算符的优先级分组和结合性
摘要: 本文汇总了 C++11 中的运算符的含义、优先级分组及其结合性。 如果两个运算符用于同一个操作数,首先应用优先极高的。如果两个运算符优先级相同,按结合性规则决定应用那个运算符。同一组中的运算符优先级和结合性相同,无论先左后右(L-R),还是先右后左(R-L)。 运算符 含义 优先级分组 结合性 ::
阅读全文
posted @ 2024-06-11 11:34 green-cnblogs
阅读(187)
评论(0)
推荐(0)
2024年6月5日
常见的排序算法——快速排序(二)
摘要: 本文记述了对快速排序的 2 项改进的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 本文实现了《算法(第4版)》书中提到的 2 项改进, 切换到插入排序:对小规模子数组使用插入排序。减少在小规模数组中的递归调用能改进整个算法。 三取样切分:将取样大小设为 3 并用
阅读全文
posted @ 2024-06-05 22:53 green-cnblogs
阅读(33)
评论(0)
推荐(0)
2024年6月2日
常见的排序算法——快速排序
摘要: 本文记述了快速排序的基本思想和一份参考实现代码,并在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 基于分治思想的快速排序,使用切分函数找到一个切分位置,保证其左侧子范围内的所有元素都不大于切分位置的元素,右侧子范围内的所有元素都不小于切分位置的元素。然后用递归调用分别对两个子范围排序。 算法的
阅读全文
posted @ 2024-06-02 21:30 green-cnblogs
阅读(86)
评论(0)
推荐(0)
2024年5月25日
常见的排序算法——归并排序(六)
摘要: 本文记述了多向归并排序的基本思想并给出了一份参考实现代码。在说明了算法的性能后用随机数据进行了验证。 ◆ 思想 在归并排序、归并排序(二)、归并排序(三)、归并排序(四)中记述的归并排序,都是把待排序范围分成两个部分分别排序的。而多向归并排序是把待排序范围分为 K 个部分,把它们分别排序然后进行归并
阅读全文
posted @ 2024-05-25 09:14 green-cnblogs
阅读(22)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
下一页